在分析时尚品牌的购买数据时,我的代码中不断出现“ KeyError”错误。我猜这是因为我将csv文件导入python的方式是错误的,但是我不知道要更改什么。如果您有任何解决办法,请帮帮我!
我曾经像
一样使用pd.read_csvcst = pd.read_csv(rf'G:~~~~customer.csv', engine='python', encoding='cp932', dtype='unicode')
然后我将其更改为
cst = pd.read_csv(r'G:~~~~customer.csv', encoding='cp932', dtype={'ID': 'str})
不幸的是,它从未成功。
我只是想防止发生“ KeyError”。
答案 0 :(得分:0)
Pandas没有dtype'unicode'或'str'。请参阅https://pbpython.com/pandas_dtypes.html 您必须使用dtype = {'ID':'object'}。
答案 1 :(得分:0)
最可能是因为键之间可能有空格
col1 , col2 , col3
将其更改为
col1,col2,col3
并确保您
cst = pd.read_csv('G:~~~~customer.csv', encoding='cp932')
您不需要dtype
,上面的内容几乎可以正常工作。否则请确保您使用的是Documentation
dtypes
答案 2 :(得分:0)
您写道: dtype = {'ID':'str})(我假设缺少结尾的撇号 只是您的问题,而不是您的代码。
请注意,包含 string 值的列实际上是 object 类型的 Pandas 。
所以也许您应该更改为 dtype = {'ID':'object'})。
另一个提示:运行 read_csv (作为测试)不使用 dtype 参数。 当然,这次 ID 列的类型将不是预期的, 但是我们只想检查 read_csv 是否完全可以读取此文件。
如果发生相同的错误,则真正的原因在其他地方。
还要检查您的输入内容是否实际包含 ID 列(区分大小写)。 如果您引用不存在的列,则 read_csv 可能会引发此错误。