下面是关于pandas
中的read_excel()
和to_excel()
函数的详细讲解和完整实例教程。
pandas.read_excel()
read_excel()
函数是pandas
库中用于读取Excel文件的函数。它支持读取多种类型的Excel文件,包括.xls
、.xlsx
、.xlsm
、.xlsb
等。下面是一些详细讲解和示例说明:
基本用法
read_excel()
函数的最基本用法如下:
import pandas as pd
df = pd.read_excel('file.xlsx')
其中,'file.xlsx'
是要读取的Excel文件路径,可以是相对路径或绝对路径。函数将Excel文件读取为DataFrame类型的数据并返回。如果Excel文件中有多个工作表,可以通过sheet_name
参数指定要读取的工作表名或工作表序号(从0开始),例如:
df = pd.read_excel('file.xlsx', sheet_name='Sheet1') # 读取名为'Sheet1'的工作表
其他参数
read_excel()
函数还有很多其他参数,这里简单介绍一些常用的:
-
header
:指定数据表的表头所在行,默认为0,即取第1行作为表头。如果设置为None,则不使用表头。 -
index_col
:指定作为行索引的列名或列号。如果设置为None,则使用默认的行号索引。 -
usecols
:指定读取的列名或者列号,可以是一组列名或者一组列号,也可以是二者的混合。例如,usecols='A:C'
表示只读取第A到第C列的数据。如果要读取非连续的列,则可以用列表形式来指定,例如usecols=[0,2,5]
表示只读取第1、3和6列的数据。 -
skiprows
:指定要跳过的行数,可以是一个整数或一个列表。例如,skiprows=2
表示跳过前两行,skiprows=[0,1,3]
表示跳过第1、2和4行。
下面是一个完整的示例:
import pandas as pd
df = pd.read_excel('file.xlsx', sheet_name='Sheet1', header=1, index_col='ID', usecols='A:C', skiprows=[0,2])
上面这个例子表示读取名为'Sheet1'
的工作表,在第二行(因为header=1
)处开始作为表头,并将'ID'
列作为行索引,只读取'A'
、'B'
、'C'
三列,并跳过第1、3行。
pandas.to_excel()
to_excel()
函数是pandas
库中用于将DataFrame数据保存为Excel文件的函数。下面是一些示例说明:
基本用法
to_excel()
函数的最基本用法如下:
import pandas as pd
df.to_excel('filename.xlsx', index=False)
其中,'filename.xlsx'
是要保存的Excel文件路径,index=False
表示不将行索引保存到Excel文件中。如果要保存多个DataFrame到一个Excel文件中,可以使用ExcelWriter
对象,示例如下:
import pandas as pd
writer = pd.ExcelWriter('filename.xlsx')
df1.to_excel(writer, sheet_name='Sheet1', index=False)
df2.to_excel(writer, sheet_name='Sheet2', index=False)
writer.save()
上面这个例子创建了一个ExcelWriter对象writer
,然后将两个DataFrame分别保存在名为'Sheet1'
和'Sheet2'
的工作表中,最后通过save()
方法将数据保存到Excel文件中。
其他参数
to_excel()
函数还有很多其他参数,这里简单介绍一些常用的:
-
startrow
:指定数据表的起始行,默认为0,即从第1行开始写入数据。 -
startcol
:指定数据表的起始列,默认为0,即从第1列开始写入数据。 -
float_format
:指定浮点数的输出格式,默认为'%1.2f'
,即输出两位小数点。 -
columns
:指定要写入Excel文件中的列名,可以是一组列名或者一组列号,也可以是二者的混合。例如,columns=['A','C','E']
表示只写入'A'
、'C'
、'E'
这三列。
下面是一个完整的示例:
import pandas as pd
df.to_excel('filename.xlsx', sheet_name='Sheet1', index=False, startrow=1, startcol=2, float_format='%.1f', columns=['ID','Name','Score'])
上面这个例子表示将DataFrame写入名为'Sheet1'
的工作表中,从第2行第3列(因为startrow=1
、startcol=2
)开始写入数据,浮点数保留一位小数(因为float_format='%.1f'
),只写入'ID'
、'Name'
、'Score'
这三列(因为columns=['ID','Name','Score']
)。