Pandas Excel 数据导入
Pandas库提供了一组强大的输入/输出(I/O)函数(简称为:I/O API),用于读取和写入各种数据格式,目前已支持常见的多种外数据格式。
Pandas 常见读取方法如下表:
可以看出,在使用Pandas 读取数据格式文件时,只需一个方法则可,不同的方法参数,
可以通过按ctrl+b 快捷键来查看函定义
Pandas 读取Excel
Pandas 读取Excel语法结构
filename 文件名称,必填项,其他参数可以不写。
read_excel(fileName,sheet_name,index_col,usecols,dtype,header,nrows,engine,na_values,…)
Pandas 读取Excel示例
需求:读取手机销售明表,日期和产品名称做为行索引,读取列标题销售额、销售数量、客户名称、利润、订单状态,销售数量类型为int,读取其前5条的销售记录。
代码如下:
df1=pd.read_excel("销售表.xlsx",
sheet_name="手机销售明细表",index_col=[0,1],
usecols=[
"日期","产品名称","销售额",
"销售数量","客户名称","利润",
"订单状态"
],
dtype={"销售数量":int},
nrows=5)
print(df1)
效果图如下:
Pandas Excel 常见读取示例总结
1. file_name: 要读取的Excel文件的路径
data = pd.read_excel("销售表.xlsx")
2. sheet_name: 要读取的工作表名称或索引。默认为0,即读取第一个工作表。
data = pd.read_excel("销售表.xlsx", sheet_name="Sheet1")
3. header: 指定行号或行号列表作为列名。默认为0,即将第一行作为列名。
data = pd.read_excel("销售表.xlsx", header=2) # 第三行作为列名
4. skiprows: 跳过指定的行数或行号列表
data = pd.read_excel("销售表.xlsx", skiprows=[0, 1]) # 跳过第一行和第二行
5. usecols: 读取指定的列名列表
data = pd.read_excel("销售表.xlsx", usecols=["A", "B"]) # 只读取A列和B列
6. nrows: 读取指定的行数
data = pd.read_excel("销售表.xlsx", nrows=100) # 只读取前100行数据
7. parse_dates: 将指定的列解析为日期格式
data = pd.read_excel("销售表.xlsx", parse_dates=["Date"]) # 将"Date"列解析为日期格式
8. date_parser: 自定义日期解析函数
from datetime import datetime
def dateparser(x):
return datetime.strptime(x, "%Y-%m-%d")
data = pd.read_excel("销售表.xlsx", parse_dates=["Date"], date_parser=dateparser)
# 使用自定义日期解析函数
9. na_values: 指定要识别为空值的值
data = pd.read_excel("销售表.xlsx", na_values=["NA", "--"]) # 将"NA"和"--"识别为空值
10. keep_default_na: 控制是否保留默认的空值识别列表
data = pd.read_excel("销售表.xlsx", keep_default_na=False) # 不将默认的空值识别列表应用于数据
13. dtype: 指定每列的数据类型
data = pd.read_excel("销售表.xlsx", dtype={"A": int, "B": str}) # 将"A"列指定为整数类型,"B"列指定为字符串类型
14. engine: 指定解析引擎。可选的值有"xlrd"、"openpyxl"和"odf"。
data = pd.read_excel("销售表.xlsx", engine="openpyxl") # 使用openpyxl作为解析引擎
15. squeeze: 如果数据只有一列,返回Series而不是DataFrame。
data = pd.read_excel("销售表.xlsx", squeeze=True) # 返回Series对象
16. decimal: 指定小数点的字符
data = pd.read_excel("销售表.xlsx", decimal=",") # 将逗号作为小数点字符
17. thousands: 指定千分位的字符
data = pd.read_excel("销售表.xlsx", thousands=" ") # 将空格作为千分位字符
18. skipfooter: 跳过文件末尾的指定行数。
data = pd.read_excel("销售表.xlsx", skipfooter=3) # 跳过文件末尾的3行
19. index_col: 指定某列作为索引列
data = pd.read_excel("销售表.xlsx", index_col="ID") # 将"ID"列作为索引列
20. sheet_list: 指定要读取的工作表列表
data = pd.read_excel("销售表.xlsx", sheet_name=["Sheet1", "Sheet2"]) # 读取"Sheet1"和"Sheet2"工作表的数据