2015-06-04 2 views
2

У меня есть файл excel, и мне нужно извлечь определенные данные из строк определенного листа. До сих пор у меня естьКак читать определенные строки из файла excel с помощью pandas

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) вместо того, чтобы указывать номер строки?

Edit: Фактическая df.loc [ «Длина (мм)»], как предложено EdChum выглядит следующим образом:

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 
+0

вы можете оставить какой ФР похоже, вы говорите, что ваше значение индекса - «Длина (мм)»? если так, то не будет 'df.loc ['Length (mm)']' работать? – EdChum

+0

@EdChum Да, пожалуйста, см. Мое редактирование. Как загрузить это в массив numpy? – Jack

+0

Если вы хотите получить np.array, тогда просто сделайте 'df.loc ['length (mm)']. Values' – EdChum

ответ

1

После загрузки ФРА вы можете выбрать определенную строку с помощью метки индексации loc:

df.loc['length (mm)'] 

Если вы хотите np.array от этого просто сделать:

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

При чтении файла вы всегда можете указать имя столбца в виде параметра к кадру данных.

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 бы имя столбца, который вы хотите получить значение из.

Смежные вопросы