访问从.csv文件python创建的对象中的特定数据

qcuzuvrc  于 2023-01-22  发布在  Python
关注(0)|答案(2)|浏览(159)

我希望你能在这里帮助我,这可能是一些简单的东西,但它让我发疯试图弄清楚。所以我用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
dfty9e19

dfty9e191#

KeyError表示不存在名为“price”的列-可能是空格妨碍了它?
尝试调用data.columns以查看列的确切名称。

du7egjpx

du7egjpx2#

我想问题出在你的栏目名称上。我觉得它看起来像“正常价格”。

相关问题