Python读写excel文件

Python读写excel文件


操作excel相关模块:

  • xlrd:读取excel,支持xls和xlsx格式
  • xlwt:创建、写入excel,不支持xlsx
  • xlutils:在xlrd和xlwt中的,对已存在的文件进行修改
  • openpyxl:主要是针对xlsx格式的excel进行读写

操作excel的相关对象:

  • WorkBook:工作蒲对象
  • Sheet:sheet表对象
  • Cell:单元格对象

安装库:

pip install xlrd
pip install xlwt
pip install openpyxl

1、创建并写入

import xlwt

FILENAME = 'test.xls'

# 创建一个Excel表格文档
excel = xlwt.Workbook()

# 添加一个名为sheet1的sheet
sheet = excel.add_sheet('sheet1')

'''sheet.write(arg1,arg2, arg3)参数说明:
arg1:行地址
arg2:列地址
arg3:要写入的数据
'''

# 写入数据
sheet.write(0, 0, '列1')
sheet.write(0, 1, '列2')
sheet.write(0, 2, '列3')

for row in range(1, 10):
    for col in range(0, 3):
        sheet.write(row, col, row + col)

# 保存文件
excel.save(FILENAME)



2、读取

import xlrd

excel = xlrd.open_workbook(FILENAME)  # 打开一个Excel表
excel.sheets()  # 得到全部sheet表

sheet = excel.sheets()[0]  # 得到第一个sheet表

# 读取第一、二、三行
row_1 = sheet.row_values(0)
row_2 = sheet.row_values(1)
row_3 = sheet.row_values(2)

# 读取第一、二、三列
col_1 = sheet.col_values(0)
col_2 = sheet.col_values(1)
col_3 = sheet.col_values(2)

3、openpyxl

import openpyxl  # 导入包

wb = openpyxl.Workbook()  # 创建

wb.create_sheet('sheet1')  # 创建sheet表

wb.save('test.xlsx')  # 保存

wb = openpyxl.load_workbook('helloworld.xlsx')  # 打开

ws = wb['sheet1']  # 选取sheet表

print(wb.sheetnames)  # 得到所有sheet表名称

print(ws.max_row)  # 得到最大行数

print(ws.max_column)  # 得到最大列数

print(ws.cell(1, 1).value)  # 读取第一行第一列的表格数据,注意cell函数返回的是Cell对象,这个对象中的value元素才是真正的单元格数据

rows = list(ws.rows)  # 按行读取数据,读取所有行

cols = list(ws.columns)  # 按列读取数据,读取所有列

for line in rows:  # 遍历所有行
    for item in line:  # 遍历一行
        print(item.value, end=',')
    print()

for col in cols:  # 遍历所有列
    for item in col:  # 遍历一列
        print(item.value, end=',')
    print()

ws.cell(row=1, column=1, value='abc')  # 第一行第一列的单元格写入abc
ws.cell(1, 2, 'abc')  # 第一行第二列的单元格写入abc

wb.close()  # 如果工作簿文件打开,则关闭。只用于以只读或只写模式打开的文件。

del wb['Sheet1']  # 删除名称为Sheet1这个表

wb.remove(wb['Sheet2'])  # 使用函数方式删除Sheet2这个表

wb.save(input_filename)  # 如果对excel文件进行了修改,需要保存,否则更改会无效


ends…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

觉皇嵌入式

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

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

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

打赏作者

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

抵扣说明:

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

余额充值