读取 excel 文件的方法用read_excel()
import numpy as np
import pandas as pd
filename = "C:\\Users\\xx\\xx\\xx.xlsx" # win
e_df = pd.read_excel(filename)
支持从本地文件系统或URL读取的xls,xlsx,xlsm,xlsb和odf文件扩展名
pandas.read_excel(
io,
sheet_name=0, # 默认第一张,第一张是0
sheet_name="xx表",
sheet_name=[0,"xx表"], # 读取后的数据类型是OrderedDict,将两个sheet的数据合并到了一个list中
sheet_name=None, # 表示引用所有sheet
header=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, # 解析所有列,默认为None
usecols="A:C", # 解析A-C列
usecols=3, # 解析4列,0123
usecols=[0,1,4], # 第1列,第2列,第5列的数据
squeeze=False, # 默认False
squeeze=True, # 如果解析的数据只包含一列,则返回一个Series
dtype=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 pd
df = 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())