论坛风格切换切换到宽版
  • 11363阅读
  • 1回复

Python用openpyxl库读写Excel、xlsx文件 [复制链接]

上一主题 下一主题
离线海豚
 

发帖
13940
金钱
435881
威望
0
贡献值
1
只看楼主 倒序阅读 使用道具 0 发表于: 2020-10-20

Python使用openpyxl读写excel文件这是一个第三方库,可以处理xlsx格式的Excel文件。pip install openpyxl安装即可使用。



读取.xlsx文件
  1. # coding=utf-8
  2. from openpyxl import load_workbook
  3. #打开一个workbook
  4. #wb = load_workbook('D:\\python\\TEST.xlsx')
  5. wb = load_workbook("TEST.xlsx")
  6. #获取当前活跃的worksheet,默认就是第一个worksheet
  7. #ws = wb.active
  8. #当然也可以使用下面的方法
  9. #获取所有表格(worksheet)的名字
  10. sheets = wb.sheetnames
  11. #第一个表格的名称
  12. sheet_first = sheets[0]
  13. #获取特定的worksheet
  14. ws = wb[sheet_first]
  15. #获取表格所有行和列,两者都是可迭代的
  16. rows = ws.rows
  17. columns = ws.columns
  18. #迭代所有的行
  19. for row in rows:
  20.     line = [col.value for col in row]
  21.     print(line)
  22. #通过坐标读取值
  23.    # A表示列,1表示行print ws.cell(row=1, column=1).value
  24. print(ws['A1'].value)








写.xlsx操作


  1. # coding=utf-8
  2. from openpyxl import Workbook
  3. from openpyxl.utils import get_column_letter
  4. # 在内存中创建一个workbook对象,而且会至少创建一个 worksheet
  5. wb = Workbook()
  6. #获取当前活跃的worksheet,默认就是第一个worksheet
  7. ws = wb.active
  8. #设置单元格的值,A1等于6(测试可知openpyxl的行和列编号从1开始计算),B1等于7
  9. ws.cell(row=1, column=1).value = 6
  10. ws['B1'].value = 7
  11. #从第2行开始,写入9行10列数据,值为对应的列序号A、B、C、D...
  12. for row in range(2,11):
  13.     for col in range (1,11):
  14.         ws.cell(row=row, column=col).value = get_column_letter(col)
  15. #可以使用append插入一行数据
  16. ws.append(["我","你","她"])
  17. #保存
  18. wb.save("TEST.xlsx")
  19. print('保存完毕')







评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
我爱潜水!
离线goodnet163

发帖
133
金钱
985
威望
0
贡献值
0
只看该作者 1 发表于: 2021-09-28
学习了,非常感谢。
快速回复
限100 字节
 
上一个 下一个