用xlrd和xlwt进行excel读写;
用openpyxl进行excel读写;
用pandas进行excel读写;
为了方便演示,我这里新建了一个data.xlsx文件,第一个工作表sheet1区域“a1:f5”的内容如下,用于测试读excel的代码:
一、利用xlrd和xlwt进行excel读写(xlwt不支持xlsx)
首先是安装第三方模块xlrd和xlwt,直接输入命令pip install xlrd和pip install xlwt就行,如下(cmd→cd→c:pythonscripts):
1、xlrd读excel:
import xlrdbook = xlrd.open_workbook('data.xlsx')sheet1 = book.sheets()[0]nrows = sheet1.nrowsprint('表格总行数',nrows)ncols = sheet1.ncolsprint('表格总列数',ncols)row3_values = sheet1.row_values(2)print('第3行值',row3_values)col3_values = sheet1.col_values(2)print('第3列值',col3_values)cell_3_3 = sheet1.cell(2,2).valueprint('第3行第3列的单元格的值:',cell_3_3)
运行结果:
表格总行数 5表格总列数 5第3行值 ['3a', '3b', '3c', '3d', '3f']第3列值 ['1c', '2c', '3c', '4c', '5c']第3行第3列的单元格的值: 3c
2、xlwt写excel
主要代码如下:
workbook = xlwt.workbook()worksheet = workbook.add_sheet('test')worksheet.write(0,0,'a1data')workbook.save('excelwrite.xls')
程序运行后,新建excelwrite.xls工作簿并插入text工作表,a1的内容为a1data。
二、利用openpyxl读写excel,注意这里只能是xlsx类型的excel
安装的话,直接输入命令"pip install openpyxl"就行,很快就能安装完毕。
读excel:
import openpyxlworkbook = openpyxl.load_workbook('data.xlsx')worksheet = workbook.get_sheet_by_name('sheet1')row3=[item.value for item in list(worksheet.rows)[2]]print('第3行值',row3)col3=[item.value for item in list(worksheet.columns)[2]]print('第3行值',col3)cell_2_3=worksheet.cell(row=2,column=3).valueprint('第2行第3列值',cell_2_3)max_row=worksheet.max_rowprint('最大行',max_row)
运行结果:
第3行值 ['3a', '3b', '3c', '3d', '3f']第3行值 ['1c', '2c', '3c', '4c', '5c']第2行第3列值 2c最大行 5
写excel:
import openpyxlworkbook = openpyxl.workbook()sheet=workbook.activesheet['a1']='hi,wwu'workbook.save('new.xlsx')
程序运行后,新建new.xls工作簿并插入sheet工作表,a1的内容为hi,wwu。
三、利用pandas读取excel
pandas的名称来自于面板数据(panel data)和python数据分析(data analysis)。
首先要安装pandas模块,相对来说,安装pandas模块要复杂一些。
如果用pip install pandas安装后运行出错,可以考虑安装以前的版本:pip install pandas==0.22
pandas是一个数据处理的包,本身提供了许多读取文件的函数,像read_csv(读取csv文件),read_excel(读取excel文件)等,只需一行代码就能实现文件的读取。
读取excel:
import pandas as pddf = pd.read_excel(r'data.xlsx',sheetname=0)print(df.head())
运行结果:
1a 1b 1c 1d 1f0 2a 2b 2c 2d 2f1 3a 3b 3c 3d 3f2 4a 4b 4c 4d 4f3 5a 5b 5c 5d 5f
写excel:
from pandas import dataframedata={'name':['张三','李四','王五'],'age':[11,12,13]'sex':'男','女','男']}df=dataframe(data)df.to_excel('new.xlsx")
程序运行后,将新建(或替换)new.xlsx文件,并在工作表sheet1的a1:d4区域中保存内容如下:
更多python相关技术文章,请访问python教程栏目进行学习!
以上就是python如何读写excel文件的详细内容。
