微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Pandas 进行文件操作

如何解决使用 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 举报,一经查实,本站将立刻删除。