我希望你能在这里帮助我,这可能是一些简单的东西,但它让我发疯试图弄清楚。所以我用Pandas从csv文件读取数据到对象“数据”。如果我运行“打印(data)”我从下面的命令行获取第一部分。我想访问名称和价格。“print(data.at[i,“Name”])”对Name列非常有效,其中I只是一个循环计数器,表示行。但是,我无法访问价格。(data.at[i,“price”])”本来可以工作,但它会抛出错误,正如您从下面读出的命令行中所看到的。
命令行已读出
Name SKU Regular price
0 30″ Straight Long Ponytail by Exposed Luxury H... NaN NaN
1 30″ Straight Long Ponytail by Exposed Luxury H... NaN £6.95
2 30″ Straight Long Ponytail by Exposed Luxury H... NaN £6.95
3 30″ Straight Long Ponytail by Exposed Luxury H... NaN £6.95
4 30″ Straight Long Ponytail by Exposed Luxury H... NaN £6.95
... ... ... ...
2814 Yankee Candle Large Jar - Fairy Floss (1pc) NaN £10.50
2815 Yankee Candle Large Jar - Midnight Magnolia (1pc) NaN £10.50
2816 Yankee Candle Large Jar - Rose Lemonade (1pc) NaN £10.50
2817 Yankee Candle Large Jar - Tropical Fruit Punch... NaN £10.50
2818 YSL Touche Eclat Illuminating Pen 2.5ml No.1 (... NaN £15.95
[2819 rows x 3 columns]
30″ Straight Long Ponytail by Exposed Luxury Hair (1pc) - 1001 - Light Blonde, 1 Piece
Traceback (most recent call last):
File "C:\Python310\lib\site-packages\pandas\core\indexes\base.py", line 3629, in get_loc
return self._engine.get_loc(casted_key)
File "pandas\_libs\index.pyx", line 136, in pandas._libs.index.IndexEngine.get_loc
File "pandas\_libs\index.pyx", line 163, in pandas._libs.index.IndexEngine.get_loc
File "pandas\_libs\hashtable_class_helper.pxi", line 5198, in pandas._libs.hashtable.PyObjectHashTable.get_item
File "pandas\_libs\hashtable_class_helper.pxi", line 5206, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 'price'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\drwyn\OneDrive\Desktop\Amazon\Scraper\scrape2.py", line 9, in <module>
print(data.at[i, "price"])
File "C:\Python310\lib\site-packages\pandas\core\indexing.py", line 2275, in __getitem__
return super().__getitem__(key)
File "C:\Python310\lib\site-packages\pandas\core\indexing.py", line 2226, in __getitem__
return self.obj._get_value(*key, takeable=self._takeable)
File "C:\Python310\lib\site-packages\pandas\core\frame.py", line 3615, in _get_value
series = self._get_item_cache(col)
File "C:\Python310\lib\site-packages\pandas\core\frame.py", line 3931, in _get_item_cache
loc = self.columns.get_loc(item)
File "C:\Python310\lib\site-packages\pandas\core\indexes\base.py", line 3631, in get_loc
raise KeyError(key) from err
KeyError: 'price'
我的代码
import pandas as pd
data = pd.read_csv("data.csv")
print(data)
i = 1
while i < 6:
print(data.at[i, "Name"])
print(data.at[i, "price"])
i += 1
2条答案
按热度按时间dfty9e191#
KeyError表示不存在名为“price”的列-可能是空格妨碍了它?
尝试调用
data.columns
以查看列的确切名称。du7egjpx2#
我想问题出在你的栏目名称上。我觉得它看起来像“正常价格”。