2
Pandasを使用してExcelファイルを解析しようとしています。私はシートから値(name
)を取得する場合Pandas:Excelファイルのdf.locから値を印刷しようとしたときのKeyError
import pandas as pd
import xlrd
xl_file = pd.ExcelFile("file.xlsx")
df = xl_file.parse("Sheet1")
は今、:
if len(df.loc[df["Col A"].str.contains("John"), "Col B"]) > 0:
name = df.loc[df["Col A"].str.contains("John"), "Col B"]
そしてprint name
、結果は次のとおりです。
1 John Doe Name: Col B, dtype: object
またはprint name.values
:
[u'John Doe']
しかし、私はprint name[0]
と実際の文字列を取得しようとすると、私はKeyError
を得る:
File "pandas/core/series.py", line 583, in __getitem__ result = self.index.get_value(self, key) File "pandas/indexes/base.py", line 1980, in get_value tz=getattr(series.dtype, 'tz', None)) File "pandas/index.pyx", line 103, in pandas.index.IndexEngine.get_value (pandas/index.c:3332) File "pandas/index.pyx", line 111, in pandas.index.IndexEngine.get_value (pandas/index.c:3035) File "pandas/index.pyx", line 159, in pandas.index.IndexEngine.get_loc (pandas/index.c:4018) File "pandas/hashtable.pyx", line 303, in pandas.hashtable.Int64HashTable.get_item (pandas/hashtable.c:6610) File "pandas/hashtable.pyx", line 309, in pandas.hashtable.Int64HashTable.get_item (pandas/hashtable.c:6554) KeyError: 0
問題がある可能性がありますか?
おかげで、私はそれが自身のインデックスです使用して、私のExcelファイルをされて推測していますか? (オンラインソースからダウンロード)。私が探していた値のインデックスは '[1]'であり、 '[0]'ではありません。 – Winterflags
Excelの行番号とpandasインデックスの関係はわかりません。しかし、 'name'はフィルタリングの結果(first name John)なので、どのインデックス値がインデックス内にあるのかそうでないのかを事前に知る方法はありません。 – IanS