• 主页

  • 投资

  • IT

    🔥
  • 设计

  • 销售

  • 共95篇

    python3.X - 数据分析 - Pandas

关闭

返回栏目

关闭

返回python3.X - 数据分析 - Pandas栏目

14 - 导入数据 - pd.read_excel(filename) - 读Excel文件

作者:

贺及楼

成为作者

更新日期:2024-08-05 22:23:07

read_excel()

读取Excel文件

读取 excel 文件的方法用read_excel()

  1. import numpy as np
  2. import pandas as pd
  3. filename = "C:\\Users\\xx\\xx\\xx.xlsx" # win
  4. e_df = pd.read_excel(filename)

支持从本地文件系统或URL读取的xls,xlsx,xlsm,xlsb和odf文件扩展名

  1. pandas.read_excel(
  2. io,
  3. sheet_name=0, # 默认第一张,第一张是0
  4. sheet_name="xx表",
  5. sheet_name=[0,"xx表"], # 读取后的数据类型是OrderedDict,将两个sheet的数据合并到了一个list中
  6. sheet_name=None, # 表示引用所有sheet
  7. header=0, # 表示用第几行作为表头,默认header=0,即默认第一行为表头
  8. header=1, # 选择第2行为表头,第一行数据就不要了
  9. header=[1,2,3], # 选择第2,3,4行的数据作为表头,第1行的数据不用
  10. header=None, # 表示不使用数据源中的表头,用0,1,2表示列名
  11. names=None, # 表示自定义表头的名称,需要传递数组参数。
  12. names=["列名1","列名2",], # 表示自定义表头的名称,需要传递数组参数。
  13. index_col=None, # 设置索引列
  14. index_col=0, # 设置索引列,第一列
  15. index_col=[1,2], # 设置索引列
  16. usecols=None, # 解析所有列,默认为None
  17. usecols="A:C", # 解析A-C列
  18. usecols=3, # 解析4列,0123
  19. usecols=[0,1,4], # 第1列,第2列,第5列的数据
  20. squeeze=False, # 默认False
  21. squeeze=True, # 如果解析的数据只包含一列,则返回一个Series
  22. dtype=None, # 修改数据类型
  23. dtype={0:"float64",1:str},
  24. engine=None, # 解析引擎
  25. engine=None, # "xlrd","openpyxl"或"odf"使用第三方的库去解析excel文件。
  26. converters=None,
  27. true_values=None,
  28. false_values=None,
  29. skiprows=None, # 跳过指定行
  30. skiprows=1, # 跳过第1行
  31. skiprows=3, # 跳过前3行
  32. skiprows=[1,3,5], # 跳过第1,3,5行
  33. skiprows=lambda x: x % 2 == 0, # 跳过偶数行
  34. nrows=None,
  35. na_values=None,
  36. keep_default_na=True,
  37. verbose=False,
  38. parse_dates=False,
  39. date_parser=None,
  40. thousands=None,
  41. comment=None,
  42. skipfooter=0,
  43. convert_float=True,
  44. mangle_dupe_cols=True,
  45. **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 行

1: 基本读取

  • 描述:读取 Excel 文件并将其转换为 DataFrame。
  • 代码
    1. import pandas as pd
    2. df = pd.read_excel('data.xlsx')
    3. print(df.head())
  • 预期结果:输出 Excel 文件的前 5 行。

2: 读取特定工作表

  • 描述:指定工作表名称读取 Excel 文件。
  • 代码
    1. df = pd.read_excel('data.xlsx', sheet_name='Sheet2')
    2. print(df.head())
  • 预期结果:输出 ‘Sheet2’ 工作表的前 5 行。

3: 跳过行首

  • 描述:跳过 Excel 文件的前几行。
  • 代码
    1. df = pd.read_excel('data.xlsx', skiprows=1)
    2. print(df.head())
  • 预期结果:跳过第一行后输出剩余的前 5 行。

4: 指定列的读取

  • 描述:只读取 Excel 文件中的特定列。
  • 代码
    1. df = pd.read_excel('data.xlsx', usecols=['Column1', 'Column3'])
    2. print(df.head())
  • 预期结果:输出包含 ‘Column1’ 和 ‘Column3’ 的前 5 行。

5: 读取特定数据范围

  • 描述:读取 Excel 文件中的特定数据范围。
  • 代码
    1. df = pd.read_excel('data.xlsx', skiprows=3, nrows=5)
    2. print(df.head())
  • 预期结果:跳过前 3 行,只读取接下来的 5 行。

6: 指定列的数据类型

  • 描述:为 Excel 文件中的列指定数据类型。
  • 代码
    1. dtypes = {'Column1': int, 'Column3': float}
    2. df = pd.read_excel('data.xlsx', dtype=dtypes)
    3. print(df.head())
  • 预期结果:’Column1’ 和 ‘Column3’ 列分别以 int 和 float 类型读取。

7: 使用索引列

  • 描述:使用 Excel 文件中的一列作为 DataFrame 的索引。
  • 代码
    1. df = pd.read_excel('data.xlsx', index_col='ID')
    2. print(df.head())
  • 预期结果:以 ‘ID’ 列作为索引的前 5 行。

8: 处理日期列

  • 描述:将 Excel 文件中的日期列解析为日期时间对象。
  • 代码
    1. df = pd.read_excel('data.xlsx', parse_dates=['DateColumn'])
    2. print(df.head())
  • 预期结果:’DateColumn’ 列被解析为日期时间对象。

9: 读取存储为 CSV 的 Excel 文件

  • 描述:读取存储为 CSV 格式的 Excel 文件。
  • 代码
    1. df = pd.read_csv('data.csv')
    2. print(df.head())
  • 预期结果:尽管使用 read_csv(),但文件实际上是 Excel 文件,输出前 5 行。

10: 合并多个工作表

  • 描述:读取 Excel 文件中的多个工作表并合并为一个 DataFrame。
  • 代码
    1. dfs = pd.read_excel('data.xlsx', sheet_name=None)
    2. df = pd.concat(dfs)
    3. print(df.head())
  • 预期结果:合并所有工作表的数据为一个 DataFrame。