python读excel 包含格式_Python|读、写Excel文件(三种模块三种方式)包括pandas

python读写excel的方式有很多,不同的模块在读写的讲法上稍有区别:

用xlrd和xlwt进行excel读写;

用openpyxl进行excel读写;

用pandas进行excel读写;

为了方便演示,我这里新建了一个data.xlsx文件,第一个工作表sheet1区域“A1:F5”的内容如下,用于测试读excel的代码:

401

1 利用xlrd和xlwt进行excel读写(xlwt不支持xlsx)

首先是安装第三方模块xlrd和xlwt,直接输入命令"pip install xlrd"和"pip install xlwt"就行,如下(cmd→CD→c:pythonscripts):

640

1.1 xlrd读excel

import xlrd

book = xlrd.open_workbook('data.xlsx')

sheet1 = book.sheets()[0]

nrows = sheet1.nrows

print('表格总行数',nrows)

ncols = sheet1.ncols

print('表格总列数',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).value

print('第3行第3列的单元格的值:',cell_3_3)

运行结果

表格总行数 5

表格总列数 5

第3行值 ['3A', '3B', '3C', '3D', '3F']

第3列值 ['1C', '2C', '3C', '4C', '5C']

第3行第3列的单元格的值: 3C

1.2 xlwt写excel

主要代码如下,很简单:

import xlwt # 貌似不支持excel2007的xlsx格式

workbook = xlwt.Workbook()

worksheet = workbook.add_sheet('test')

worksheet.write(0,0,'A1data')

workbook.save('excelwrite.xls')

程序运行后,新建excelwrite.xls工作簿并插入text工作表,A1的内容为A1data。

2 利用openpyxl读写excel,注意这里只能是xlsx类型的excel

安装的话,直接输入命令"pip install openpyxl"就行,很快就能安装完毕。

2.1 读excel

import openpyxl

workbook = 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).value

print('第2行第3列值',cell_2_3)

max_row=worksheet.max_row

print('最大行',max_row)

运行结果:

第3行值 ['3A', '3B', '3C', '3D', '3F']

第3行值 ['1C', '2C', '3C', '4C', '5C']

第2行第3列值 2C

最大行 5

2.2 写excel

主要代码如下:

import openpyxl

workbook = openpyxl.Workbook()

sheet=workbook.active

sheet['A1']='hi,wwu'

workbook.save('new.xlsx')

程序运行后,新建new.xls工作簿并插入sheet工作表,A1的内容为hi,wwu。

3 利用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文件)等,只需一行代码就能实现文件的读取

pd.read_excel(io, sheet_name=0, header=0, names=None, index_col=None,

usecols=None, squeeze=False,dtype=None, engine=None,

converters=None, true_values=None, false_values=None,

skiprows=None, nrows=None, na_values=None, parse_dates=False,

date_parser=None, thousands=None, comment=None, skipfooter=0,

convert_float=True, **kwds)

1、io,Excel的存储路径

2、sheet_name,要读取的工作表名称

3、header, 用哪一行作列名

4、names, 自定义最终的列名

5、index_col, 用作索引的列

6、usecols,需要读取哪些列

7、squeeze,当数据仅包含一列

8、converters ,强制规定列数据类型

9、skiprows,跳过特定行

10、nrows ,需要读取的行数

11、skipfooter , 跳过末尾n行

3.1 读excel

主要代码如下,就1行代码搞定,注意这里的data是DataFrame类型:

import pandas as pd

df = pd.read_excel(r'data.xlsx',sheetname=0)

print(df.head())

运行结果:

1A 1B 1C 1D 1F

0 2A 2B 2C 2D 2F

1 3A 3B 3C 3D 3F

2 4A 4B 4C 4D 4F

3 5A 5B 5C 5D 5F

3.2 写excel

主要代码如下:

from pandas import DataFrame

data={

'name':['张三','李四','王五'],

'age':[11,12,13]

'sex':'男','女','男']

}

df=DataFrame(data)

df.to_excel('new.xlsx")

程序运行后,将新建(或替换)new.xlsx文件,并在工作表sheet1的A1:D4区域中保存内容如下:

321

至此,我们就完成了excel的读写。总的来说,这3种方法都很简单,尤其是第3种方法,1行代码就搞定,在数据处理中,经常会用到pandas这个包(该包可以处理众多常见的数据存储格式,如CSV、JSON等),功能很强大,当然还有许多其他的包也可以完成excel的读写

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值