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

1. 读取工作簿和工作表

'''新建'''
from openpyxl import Workbook
wb = Workbook()     # 新建的工作簿
ws = wb.active      # 在wb下新建的工作表

'''读取工作簿和工作表'''
from openpyxl import load_workbook
wb = load_workbook(r'D:\python_files\history\daily\blog\excel_demo.xlsx')   # 工作簿
ws = wb['Sheet1']  # 要操作的工作表 <Worksheet "Sheet1">
ws1 = wb['Sheet2']  # 可以读取不同的工作表

2. 读取数据

'''读取数据'''
ws_max_row = ws.max_row     # 查看有多少行
ws_max_col = ws.max_column  # 查看有多少列

# 读取第2列年份
year = []
for row in range(2,ws_max_row+1):
    ws.cell(row,2).value    # 第row行第2列的单元格值
    year.append(ws.cell(row,2).value)   # [2020, 2019, 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011]

# 读取整个表
all_data = []
for row in range(1,ws_max_row+1):
    row_data =[]    # 存取每一行的信息  eg['中国工商银行', 2011, 213314636.11587694, 232114814.48467818, 65358020.34194424]
    for col in range(1,ws.max_column+1):
        row_data.append(ws.cell(row,col).value )   # 第row行第col列的单元格值
    all_data.append(row_data)                      # 把每一行的row_data添加到all_data中

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

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

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

3. 信息写入

写入前:

# 在A1单元格写入
ws.cell(1,1).value = 'new_value'    

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

写入后:

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

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱迪生换灯泡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值