在python中对Excel进行简单的操作

#表格的操作

 #创建表格
 wb = Workbook()
 #打开第一个工作表
 wb.active
 #保存
 wb.save("路径+文件名 或 文件名")
 #关闭
 wb.close()
 #读取Excel中所有的工作表
 wb.get_sheet_names()
 #访问第一个工作表
 wb.worksheets[0]
 wb.get_sheet_names()[0]
 #编辑第一个工作表中的第a行,第b列的内容
 wb.worksheets[0].cell(a,b).value = "内容"

#最大行号

  print(sheet.max_row)

#最大列号

 print(sheet.max_column)

#列表排序

 #定义一个空列表
 numbers = []
 #把数据加入到列表中
 numbers.append(值)
 #让列表中是数据升序排列
 numbers.sort()
 #让列表中是数据降序排列
 numbers.reverse()

#新建一个Excel,在里存入100个(1-100随机数)数,然后对100个数进行升序排序并存回Excel表格

 import openpyxl
 from openpyxl import Workbook, load_workbook
 import random
 
 def read_excel_file():
  #创建一个表格
  wb = Workbook()
  #打开一个工作表
  sheet = wb.active
  #确定表格保存的路径以及文件名
  file_path = r"./demo02.xlsx"
  #保存表格
  wb.save(file_path)
  #关闭表格
  wb.close()
  #再次打开表格
  wb = load_workbook(file_path)
  #访问第一个工作表
  sheet = wb.worksheets[0]
  #编辑表格的内容
  sheet.cell(1, 1).value = "数字"
  max_row, a = 101, 2
  while a <= max_row:
  sheet.cell(a, 1).value = random.randint(1, 100)
  a += 1
  wb.save(file_path)
 
  #打开指定的Excel
  wb = openpyxl.load_workbook('./demo02.xlsx')
  #读取Excel中所包含的工作表
  sheets = wb.get_sheet_names()
  #获取Excel中第一个工作表
  sheet = wb[sheets[0]]
  print(sheet)
  #创建一个空列表用来存数值
  numbers = []
  #a代表行,b代表列
  a,b = 2,1
  #当a不满足小于等于工作表中最大行数时结束循环
  while a <= sheet.max_row:
  numbers.append(sheet.cell(row=a, column=b).value)
    a += 1
  print(numbers)
  #对数值进行升序排序 reverse()降序
  numbers.sort()
  print(numbers)
  #把重新排序后的数值写回到第一张工作表中
  for i,number in enumerate(numbers):
  sheet.cell(row=i+2, column=1, value=number)
 
  #保存重新排序后的文件并另存为
  wb.save('demo02_sort.xlsx')
 
 if __name__ == '__main__':
    read_excel_file()
 

 

posted on 2023-06-02 22:50  小庄加油  阅读(249)  评论(0编辑  收藏  举报