当前位置:   article > 正文

python操作excel自动化办公: 读取写入excel之openpyxl简单使用详细教程+举例说明_openpyxl写入数据

openpyxl写入数据

1. 读取工作簿和工作表

  1. '''新建'''
  2. from openpyxl import Workbook
  3. wb = Workbook() # 新建的工作簿
  4. ws = wb.active # 在wb下新建的工作表
  5. '''读取工作簿和工作表'''
  6. from openpyxl import load_workbook
  7. wb = load_workbook(r'D:\python_files\history\daily\blog\excel_demo.xlsx') # 工作簿
  8. ws = wb['Sheet1'] # 要操作的工作表 <Worksheet "Sheet1">
  9. ws1 = wb['Sheet2'] # 可以读取不同的工作表

2. 读取数据

  1. '''读取数据'''
  2. ws_max_row = ws.max_row # 查看有多少行
  3. ws_max_col = ws.max_column # 查看有多少列
  4. # 读取第2列年份
  5. year = []
  6. for row in range(2,ws_max_row+1):
  7. ws.cell(row,2).value # 第row行第2列的单元格值
  8. year.append(ws.cell(row,2).value) # [2020, 2019, 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011]
  9. # 读取整个表
  10. all_data = []
  11. for row in range(1,ws_max_row+1):
  12. row_data =[] # 存取每一行的信息 eg['中国工商银行', 2011, 213314636.11587694, 232114814.48467818, 65358020.34194424]
  13. for col in range(1,ws.max_column+1):
  14. row_data.append(ws.cell(row,col).value ) # 第row行第col列的单元格值
  15. all_data.append(row_data) # 把每一行的row_data添加到all_data中

看一下读取的信息all_data是什么样的:

  1. for a in all_data:
  2. print(a) # 查看所有信息

 可以看到all_data是一个二维列表,它有11个元素存储每一行,每个元素又是有5个元素的列表,存储每一行的具体信息。

3. 信息写入

写入前:

  1. # 在A1单元格写入
  2. ws.cell(1,1).value = 'new_value'
  3. # 循环写入一行数据
  4. last_row_data = all_data[-1] # ['中国工商银行', 2011, 213314636.11587694, 232114814.48467818, 65358020.34194424]
  5. for c in range(len(last_row_data)):
  6. ws.cell(13,c+1).value = last_row_data[c] # 循环在第13行写入一行数据
  7. wb.save(r'D:\python_files\history\daily\blog\excel_demo.xlsx') # 保存

写入后:

 可以看到把A1单元格信息改写,且在13行加了一行信息(写入的内容是刚刚读取的最后一行-11行的信息)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/434139
推荐阅读
相关标签
  

闽ICP备14008679号