python3读写excel文件_Python 读写excel文件

1. excel文件术语:

workbook: 每个excel文件就是一个workbook

sheet: 对应excel下面的’sheet1’,’sheet2'

cell: 对应每个单元格

2. python读写excel的第三方库

Python-Excel的第三方库(xlrd、xlwt、xlutils)

这种方法其实是由三个库组成:

* xlrd (Excel Reader): 读

支持Python 2.x和3.x,支持XLS和XLSX文件读取。

* xlwt (Excel Writer): 写

仅支持Python 2.x,仅支持写XLS。

但是后来又找到了这个版本的一个支持Python 3.x的fork:xlwt-future,不过还是只支持写XLS。

* xlutils: 更多高级操作,依赖前2个库

仅支持Python 2.x。

openpyxl

支持Python 2.x和3.x,仅支持XLSX的读取和写入。

3. openpyxl 使用

3.1 打开excel

wb = load_workbook(‘file.xlsx)

ws = wb.get_active_sheet(), 获取一个sheet,默认是0

3.2 按索引遍历excel的所有sheet

sheet_names = wb.get_sheet_names()

ws = wb.get_sheet_by_name(sheet_names[index])

3.3 获取对应cell的值

按行号读取:

c= ws.cell(‘A5’).value

d=ws.cell(row=3, column=4).value

4. 创建workbook

wb = Workbook()

5. 创建sheet

wb.create_sheet() #在尾部插入sheet

wb.create_sheet(0) #在首部插入sheet

6. 写入数据到cell

ws.cell(‘A3) = 20

ws.cell(row=3, column=4) = 24.5

7. 保存文件

wb.save(‘file.xlsx')

例子:

importopenpyxl

defget_cells(worksheet):

fori inrange(100):

lst=[]

forj inrange(20):

lst.append(worksheet.cell(row=i+1, column=j+1).value)

print("row %d"% i , lst)

wb=openpyxl.Workbook(optimized_write=True)

ws=wb.create_sheet()

forirow inrange(100):

ws.append(['%d'% i fori inrange(20)])

wb.save(filename='test.xlsx')

wb = openpyxl.load_workbook('test.xlsx', use_iterators=True)

sheetnames = wb.get_sheet_names()

ws = wb.get_sheet_by_name(sheetnames[0])

get_cells(ws)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值