pandas read_excel()和to_excel()函数解析

  • Post category:Python

下面是关于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=1startcol=2)开始写入数据,浮点数保留一位小数(因为float_format='%.1f'),只写入'ID''Name''Score'这三列(因为columns=['ID','Name','Score'])。