对Python 2.7 pandas 中的read_excel详解

  • Post category:Python

对Python2.7 Pandas中的read_excel详解

在Python的pandas模块中,read_excel()函数可以用来读取Excel文件,尤其适用于对数据进行统计、分析等操作。本文将详细讲解read_excel()函数的用法和注意事项。

安装pandas

在使用read_excel()函数前,需要先安装pandas模块:

pip install pandas

使用read_excel()函数

read_excel()函数的语法如下:

pandas.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, keep_default_na=True, verbose=False, parse_dates=False, date_parser=None, thousands=None, comment=None, skipfooter=0, skipfooter_space=False, skip_blank_lines=True, parse_cols=None, parse_dates_at=None, encoding=None, **kwds)

参数说明:

  • io:要读取的Excel文件路径。
  • sheet_name:要读取的工作表,可以是工作表名称或工作表索引号。
  • header:指定标题行的行号。行号从0开始。
  • names:设置一个数组,用于指定自定义标题。
  • index_col:设置一个列索引,作为DataFrame的行索引。
  • usecols:设置只读取特定的列。
  • squeeze:如果数据中只有一列,返回一个Series对象。
  • dtype:设置读取数据的数据类型。
  • engine:使用哪个解析器解析Excel文件。可以是”xlrd”,”openpyxl”或其他可用的解析器。
  • converters:用于将指定列的数据类型转换为Python对象的字典映射。
  • true_values:指定Excel中被认为是True的字符串列表。
  • false_values:指定Excel中被认为是False的字符串列表。
  • skiprows:设置要跳过的行号。
  • nrows:读取的行数。
  • na_values:指定Excel中被认为是缺失值的字符串列表。
  • keep_default_na:是否保留pandas的默认的空值列表。
  • verbose:如果为True,则显示文件解析过程中的输出信息。
  • parse_dates:将指定列转换为日期时间格式。
  • date_parser:将日期字符串转换为日期时间格式的函数。
  • thousands:数值变量中的千分位分隔符。
  • comment:Excel文件中的注释行。
  • skipfooter:要跳过的尾部行数。
  • skipfooter_space:是否跳过空行。
  • skip_blank_lines:是否跳过空行。
  • parse_cols:设置要解析的列。
  • parse_dates_at:设置要将哪些列解析为日期。
  • encoding:文件编码。

以下是一个示例。

示例1

首先,我们可以创建一个Excel文件来进行读取操作,该文件的内容如下:

Name Age Gender
Amy 20 Female
Bob 25 Male
Carl 30 Male
Dave 35 Male

假设该文件保存在工程目录下的example.xlsx文件中,那么我们可以使用如下代码进行读取:

import pandas as pd

df = pd.read_excel('./example.xlsx', sheet_name='Sheet1')
print(df)

输出结果:

   Name  Age  Gender
0   Amy   20  Female
1   Bob   25    Male
2  Carl   30    Male
3  Dave   35    Male

可以看到,read_excel()函数返回了一个DataFrame对象,并将Excel文件中的所有行都读取并转换为DataFram中的行。

示例2

接下来,我们将读取一个部分工作表的内容。假设Excel文件example.xlsx中还有一个名为Sheet2的工作表,其内容如下:

Month Sales
January 1000
March 2000
May 3000
July 2000
August 4000
November 5000
December 6000

我们只需要读取Sheet2工作表的前3行(包括标题),并只读取Sales列,可以使用如下代码:

import pandas as pd

df = pd.read_excel('./example.xlsx', sheet_name='Sheet2', header=0, usecols='B', nrows=3)
print(df)

输出结果:

   Sales
0   1000
1   2000
2   3000

这里我们通过设置header=0来指定了第一行是标题行,并使用usecols=’B’指定了只读取第二列。同时,设置了nrows=3,那么只读取了前三行。