Excel文件读写操作1(xls)
- 2022 年 4 月 28 日
- 筆記
- Python常用的库
一、Python-Excel常用的库:xlrd(read)、xlwt(write)、xlutils、openpyxl
1、xlrd 读取Excel文件,支持 .xls 和 .xlsx 格式。
2、xlwt 写入Excel文件,只支持 .xls 格式。
3、xlutils 操作Excel文件的实用工具,如复制、分割、筛选等。
4、openpyxl 既可以读文件、也可以写文件、也可以修改文件;但是openpyxl库不支持xls格式的Excel文档,如果要读写xls格式的文档,可以使用Excel进行相应的格式转化,或者使用xlwt库进行写的操作。
二、安装xlwt、xlrd库
1、安装xlwt库
pip install xlwt
pip install xlwt -i //pypi.douban.com/simple/
2、安装xlrd库
pip install xlrd
pip install xlrd -i //pypi.douban.com/simple/
3、查看已安装的库
pip list
pip show xlwt
三、xlwt创建xls文件并写入数据
xlwt创建xls文件并写入操作步骤
1、导包:import xlwt
2、创建一个对象(.xls文件):book1 = xlwt.Workbook(encoding=’utf-8′)
3、添加一个sheet工作表:sheet1 = book1.add_sheet(‘info’)
4、添加内容:
方式一:
sheet1.write(0, 0, ‘username’)
sheet1.write(0, 1, ‘password’)
方式二:
row2 = [‘admin’, ‘123456’]
for i in range(len(row2)):
sheet1.write(1, i, row2[i])
5、保存文件:book1.save(‘login.xls’)
四、 xlwt打开已有xls文件并写入数据
把数据写入已存在的Excel,需要使用xutils库
1、打开已有xsl文件:xlrd.open_workbook(‘login.xls’, formatting_info=True)
2、注意添加参数formatting_info=True,得以保存之前数据的格式。
3、使用xutils中copy拷贝出一份,成为新的xlwt的Workbook变量:
4、通过get_sheet去获得对应的sheet,拿到sheet变量后,往sheet写入新的数据
5、写完数据后,save保存
五、xlrd库读取excel
xlrd是个跨平台的库,能够在windows、linux/unix等平台上使用,xlrd支持读取.xls和.xlsx的Excel文件,只支持读取,不支持写入。
1、导包:import xlrd
2、打开一个文件(.xls或.xlsx文件):book = xlrd.open_workbook(‘login.xls’)
3、使用sheet工作表:
sheet名称:sh1 = book.sheet_by_name(‘info’)
sheet索引:sh1 = book.sheet_by_index(0)
4、读取sheet工作表的属性信息
当前sheet名称:sh1.name
当前sheet的总行数:sh1.nrows
当前sheet的总列数:sh1.ncols
xls/xlsx文件所有sheet名称:book.sheet_names()
5、读取sheet工作表存储的文本内容:
读取某一行:row1 = sh1.row_values(0)
读取某一列:col1 = sh1.col_values(0)
读取某一个单元格:
cell = sh1.cell_value(0,0)
cell = sh1.cell(0,1).value
1 import xlrd 2 3 # 打开文件 4 book1 = xlrd.open_workbook('login.xls') 5 # 获取名为info的sheet 6 she1 = book1.sheet_by_name('info') 7 # 当前sheet名字 8 sname = she1.name 9 print(sname) 10 # 当前行数 11 rows = she1.nrows 12 print(rows) 13 # 当前列数 14 cols = she1.ncols 15 print(cols) 16 # 所以sheet的名称 17 all_sheet = book1.sheet_names() 18 print(all_sheet) 19 # 第一行第一列内容 20 A1 = she1.cell(0, 0).value 21 print(A1) 22 # 第二行内容 23 row1 = she1.row_values(1) 24 print(row1) 25 # 第二列内容 26 col1 = she1.col_values(1) 27 print(col1) 28 # 第四行,第一列,取两个 29 row4_col3 = she1.row_values(3,0,2) 30 print(row4_col3)