
读取 excel 文件的方法用read_excel()
import numpy as npimport pandas as pdfilename = "C:\\Users\\xx\\xx\\xx.xlsx" # wine_df = pd.read_excel(filename)
支持从本地文件系统或URL读取的xls,xlsx,xlsm,xlsb和odf文件扩展名
pandas.read_excel(io,sheet_name=0, # 默认第一张,第一张是0sheet_name="xx表",sheet_name=[0,"xx表"], # 读取后的数据类型是OrderedDict,将两个sheet的数据合并到了一个list中sheet_name=None, # 表示引用所有sheetheader=0, # 表示用第几行作为表头,默认header=0,即默认第一行为表头header=1, # 选择第2行为表头,第一行数据就不要了header=[1,2,3], # 选择第2,3,4行的数据作为表头,第1行的数据不用header=None, # 表示不使用数据源中的表头,用0,1,2表示列名names=None, # 表示自定义表头的名称,需要传递数组参数。names=["列名1","列名2",], # 表示自定义表头的名称,需要传递数组参数。index_col=None, # 设置索引列index_col=0, # 设置索引列,第一列index_col=[1,2], # 设置索引列usecols=None, # 解析所有列,默认为Noneusecols="A:C", # 解析A-C列usecols=3, # 解析4列,0123usecols=[0,1,4], # 第1列,第2列,第5列的数据squeeze=False, # 默认Falsesqueeze=True, # 如果解析的数据只包含一列,则返回一个Seriesdtype=None, # 修改数据类型dtype={0:"float64",1:str},engine=None, # 解析引擎engine=None, # "xlrd","openpyxl"或"odf"使用第三方的库去解析excel文件。converters=None,true_values=None,false_values=None,skiprows=None, # 跳过指定行skiprows=1, # 跳过第1行skiprows=3, # 跳过前3行skiprows=[1,3,5], # 跳过第1,3,5行skiprows=lambda x: x % 2 == 0, # 跳过偶数行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,**kwds)
| 例子编号 | 描述 | 参数/功能 | 预期结果描述 |
|---|---|---|---|
| 1 | 基本读取 | - | Excel 文件的前 5 行 |
| 2 | 读取特定工作表 | sheet_name |
特定工作表的前 5 行 |
| 3 | 跳过行首 | skiprows |
跳过首行后的前 5 行 |
| 4 | 指定列的读取 | usecols |
指定列的前 5 行 |
| 5 | 读取特定数据范围 | skiprows, nrows |
特定范围内的前 5 行 |
| 6 | 指定列的数据类型 | dtype |
指定数据类型列的前 5 行 |
| 7 | 使用索引列 | index_col |
以特定列索引的前 5 行 |
| 8 | 处理日期列 | parse_dates |
日期列为日期时间对象的前 5 行 |
| 9 | 读取存储为 CSV 的 Excel 文件 | 使用 read_csv() 函数 |
实际为 Excel 文件的前 5 行 |
| 10 | 合并多个工作表 | sheet_name=None |
合并所有工作表的前 5 行 |
import pandas as pddf = pd.read_excel('data.xlsx')print(df.head())
df = pd.read_excel('data.xlsx', sheet_name='Sheet2')print(df.head())
df = pd.read_excel('data.xlsx', skiprows=1)print(df.head())
df = pd.read_excel('data.xlsx', usecols=['Column1', 'Column3'])print(df.head())
df = pd.read_excel('data.xlsx', skiprows=3, nrows=5)print(df.head())
dtypes = {'Column1': int, 'Column3': float}df = pd.read_excel('data.xlsx', dtype=dtypes)print(df.head())
df = pd.read_excel('data.xlsx', index_col='ID')print(df.head())
df = pd.read_excel('data.xlsx', parse_dates=['DateColumn'])print(df.head())
df = pd.read_csv('data.csv')print(df.head())
read_csv(),但文件实际上是 Excel 文件,输出前 5 行。
dfs = pd.read_excel('data.xlsx', sheet_name=None)df = pd.concat(dfs)print(df.head())