栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

openpyxl对xlsx文件的读写操作

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

openpyxl对xlsx文件的读写操作

from openpyxl import load_workbook, Workbook
# 写一个新的xlsx
wb_xlsx = Workbook()
wb_xlsx.create_sheet(title='花名册',index=0)
ws_xlsx = wb_xlsx.active
# title
ws_xlsx.append(['a', 'b', 'c', 'd', 'e', 'f'])
for i in range(6):
    ws_xlsx.append([1,2,3,4,5,6])
wb_xlsx.save(filename='openpyxl_file.xlsx')
追加单元表
wb = load_workbook('openpyxl_file.xlsx')
wb.create_sheet(title='Word',index=0)
ws = wb.active
# title
ws.append(['a', 'b', 'c', 'd', 'e', 'f'])
for i in range(3):
    ws.append([1,1,1,1,1,1])
wb.save(filename='openpyxl_file.xlsx')

第一种方式用openpyxl读

# 读取xlsx文件
workbook = load_workbook('D:\sbd\baidu\openpyxl_file.xlsx')
# 可以使用workbook对象的sheetnames属性获取到excel文件中哪些表有数据
sheetnames = workbook.sheetnames
print(sheetnames)
# 默认只能获取第一个工作表
table = workbook.active
for sheetname in sheetnames:
    table = workbook[sheetname] 
    # table = workbook.get_sheet_by_name(sheetname)
    rows = table.max_row
    cols = table.max_column

    for row in range(rows):
        for col in range(cols):
            data = table.cell(row + 1, col + 1).value
            print(data, end=' ')

pandas读

# pandas读取方式
import pandas as pd
result_a = pd.read_excel(r'./openpyxl_file.xlsx', sheet_name=sheetnames)
for sheetname in sheetnames:
    result_a[sheetname].fillna('',inplace=True)
    for res in result_a[sheetname].index.values:
        row = result_a[sheetname].loc[res,result_a[sheetname].columns.values].to_dict()
        print(row)
追加
# 追加xlsx文件
wb = load_workbook('D:\sbd\baidu\openpyxl_file.xlsx')
sheet1 = wb['Word']
# 复制工作表并新建名为复制工作表的工作表
sheet2 = wb.copy_worksheet(sheet1)
sheet2.title = "复制工作表"
# for i in range(3):
#     sheet1.append([3,3,3,3,3,3])
wb.save(filename='openpyxl_file.xlsx')
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/753444.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号