阅读量:0
pandas库学习之read_excel函数
一、简介
pandas.read_excel
函数用于从Excel文件中读取数据,并将其转换为DataFrame对象。这个函数支持读取Excel 2003及以后的文件格式(.xls和.xlsx)。
二、语法和参数
pandas.read_excel(io, sheet_name=0, header=0, names=None, index_col=None, usecols=None, squeeze=None, 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, convert_float=True, mangle_dupe_cols=True, storage_options=None)
参数:
- io:字符串、路径对象、bytes、ExcelFile或xlrd.Book,表示要读取的Excel文件路径或Excel对象。
- sheet_name:字符串、整数或列表,默认值为0,表示要读取的工作表名称或索引。可以是字符串(工作表名称)、整数(工作表位置)或列表(多个工作表)。
- header:整数,默认值为0,表示作为列名的行索引。
- names:数组状,表示用作列名的列表。如果传递此参数,则header参数将被忽略。
- index_col:整数或列表,表示用作行索引的列编号或列名。
- usecols:字符串、列表或整数,表示要读取的列。
- dtype:字典,表示列的数据类型。
- converters:字典,表示列的转换函数。
- skiprows:列表、整数或可调用对象,表示要跳过的行数。
- nrows:整数,表示要读取的行数。
- na_values:标量、字符串或列表,表示要视为缺失值的值。
- keep_default_na:布尔值,表示是否保留默认的缺失值。默认值为True。
- verbose:布尔值,表示是否打印加载信息。默认值为False。
- parse_dates:布尔值或列表,表示是否将列解析为日期。
- date_parser:函数,表示用于解析日期的函数。
- thousands:字符串,表示千位分隔符。
- comment:字符串,表示注释字符,表示注释行的开头。
- skipfooter:整数,表示要跳过的文件末尾的行数。
- convert_float:布尔值,表示是否将整数转换为浮点数。默认值为True。
- mangle_dupe_cols:布尔值,表示是否处理重复列名。默认值为True。
- storage_options:字典,表示传递给文件系统的额外存储选项。
三、实例
3.1 读取单个工作表
import pandas as pd # 假设当前目录下有一个名为example.xlsx的Excel文件 df = pd.read_excel('example.xlsx', sheet_name='Sheet1') print(df)
输出:
Column1 Column2 0 1 4 1 2 5 2 3 6
3.2 读取多个工作表
import pandas as pd # 假设当前目录下有一个名为example.xlsx的Excel文件 dfs = pd.read_excel('example.xlsx', sheet_name=['Sheet1', 'Sheet2']) for sheet, data in dfs.items(): print(f"Sheet: {sheet}") print(data)
输出:
Sheet: Sheet1 Column1 Column2 0 1 4 1 2 5 2 3 6 Sheet: Sheet2 ColumnA ColumnB 0 10 40 1 20 50 2 30 60
四、注意事项
确保安装了必要的依赖库,如
xlrd
(用于读取.xls
文件)或openpyxl
(用于读取.xlsx
文件)。pip install openpyxl xlrd
当读取多个工作表时,返回的对象是一个字典,键是工作表名称,值是相应的DataFrame。
使用
usecols
参数可以显著提高读取速度,特别是对于大型Excel文件。如果Excel文件包含合并单元格,
pandas.read_excel
可能会处理不当。建议在预处理阶段尽量避免使用合并单元格。