如何解决使用 Pandas 进行文件操作
我是操作文件的初学者,因此我还没有完全掌握它。我想要做的是,通过使用 Pandas,创建一个新文件,其中包含根据价格降序列出的预览的所有元素。这是我的代码:
file = pandas.read_csv('list_of_items.csv',skiprows=1)
sorted_file = file.sort_values(by = 'price',ascending=False)
sorted_file.to_csv('items_sorted_price.csv',index=False)
但是我收到此错误:
File "C:\Users\arcal\Anaconda3\lib\site-packages\pandas\io\parsers.py",line 1891,in __init__
self._reader = parsers.TextReader(src,**kwds)
File "pandas\_libs\parsers.pyx",line 529,in pandas._libs.parsers.TextReader.__cinit__
File "pandas\_libs\parsers.pyx",line 749,in pandas._libs.parsers.TextReader._get_header
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xef in position 0: invalid continuation byte
我该怎么做才能解决问题? 你会推荐像我这样的初学者从哪里开始工作以更好地掌握这个主题? 预先感谢您的帮助。
解决方法
存在除默认之外的另一种数据编码问题。默认情况下,pandas.read_csv
需要 utf-8
编码。并且错误表示它无法使用此编码解码文件中的符号。因此,您需要找到用于创建该文件的文件。
我想 cp1251
很常见。
pd.read_csv('list_of_items.csv',skiprows=1 encoding="cp1251")
关于大熊猫的一些起点 - 有很多关于它的很酷的教程。例如来自官方文档:
https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html
你可以找到另一个只是谷歌搜索pandas 101
。
当 Pandas 读取 CSV 时,它默认使用 utf-8
编码读取它,但是,也可以使用其他编码格式。 read_csv
函数可以将编码格式作为参数。
代码如下:
df = pd.read_csv('file.csv',encoding = "ISO-8859-1")
您可以尝试多种不同的格式,这里是完整的list。我建议使用记事本或其他文本编辑器打开文件,然后使用 utf-8 编码另存为 CSV。
如果只需要读取几个csv文件,可以使用如下代码:
df = pd.read_csv('file.csv',engine='python')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。