【问题标题】:How to read specific rows from excel file using pandas如何使用熊猫从excel文件中读取特定行
【发布时间】:2020-01-16 19:08:00
【问题描述】:

我有一个 excel 文件,我需要从某个工作表的行中提取某些数据。到目前为止我有

import pandas as pd
xl_file = pd.ExcelFile((xlfilePath)
dfs = {sheet_name: xl_file.parse(sheet_name) for sheet_name in xl_file.sheet_names} 

现在我想读取在特定行中找到的数值。行结构类似于:

Length (mm) 10.1 - 16.0 - 19.5 - 16.4 - 11.3

我试图显示一行的每个单元格中的内容。破折号表示单元格中的空条目!如何使用 pandas 库像这样连续阅读?我碰巧知道上面的行有什么行号,但是熊猫是否有办法查看数据框并找到条目length (mm) 而不必指定行号?

编辑:EdChum 建议的实际 df.loc['length (mm)'] 如下所示:

0              17.92377
Unnamed: 1          NaN
0.05           18.55764
Unnamed: 3          NaN
0.1            19.17039
Unnamed: 5          NaN
0.15            19.7507
Unnamed: 7          NaN
0.2            20.29776
Unnamed: 9          NaN
0.25           20.80492
Unnamed: 11         NaN
0.3             21.2667
Unnamed: 13         NaN
0.35           21.67687
Unnamed: 15         NaN
0.4            22.02884
Unnamed: 17         NaN
0.45            22.3156
Unnamed: 19         NaN
0.5            22.53051
Unnamed: 21         NaN
0.55           22.66691
Unnamed: 23         NaN
0.6            22.71949
Unnamed: 25         NaN
0.65           22.68477
Unnamed: 27         NaN
0.7            22.56162
Unnamed: 29         NaN
0.75           22.35258
Unnamed: 31         NaN
0.8            22.06432
Unnamed: 33         NaN
0.85            21.7079
Unnamed: 35         NaN
0.9            21.29801
Unnamed: 37         NaN
0.95           20.85419
Unnamed: 39         NaN
1                20.394
Name: length (mm), dtype: object

【问题讨论】:

  • 你能发布 df 的样子吗,你是说你的索引值是“长度(毫米)”吗?如果是这样,那么df.loc['Length (mm)'] 不会工作吗?
  • @EdChum 是的,请查看我的编辑。如何将其加载到 numpy 数组中?
  • 如果你想要一个 np.array ,那么就做df.loc['length (mm)'].values
  • 哇,太好了,非常感谢!

标签: python pandas


【解决方案1】:

加载 df 后,您可以使用标签索引loc 选择特定行:

df.loc['length (mm)']

如果你想要一个 np.array 就这样做:

df.loc['length (mm)'].values

【讨论】:

    【解决方案2】:

    在读取文件时,您始终可以将列名以参数的形式指定给数据框。

    import pandas as pd
    fields = ['employee_name']
    
    d_frame = pd.read_csv('data_file.csv', skipinitialspace=True, usecols=fields)
    # get the required key or column name
    print(d_frame.keys())
    # Get data from column name
    print(d_frame.employee_name)
    

    我假设employee_name 是您要从中获取值的列名。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-27
      • 2018-05-15
      • 1970-01-01
      • 2019-01-26
      • 2022-12-05
      • 1970-01-01
      • 2019-11-08
      • 2020-02-10
      相关资源
      最近更新 更多