Python 使用pandas进行文件操作

Python 使用pandas进行文件操作,python,file-manipulation,Python,File Manipulation,我是一个操作文件的初学者,因此我还没有完全掌握它。我想做的是,通过使用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', ind

我是一个操作文件的初学者,因此我还没有完全掌握它。我想做的是,通过使用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
我能做些什么来解决这个问题? 为了更好地掌握这个话题,你会推荐我这样的初学者从哪里开始工作?
提前感谢您的帮助。

除了默认编码之外,还有另一个数据编码问题。默认情况下,读取csv需要utf-8编码。错误表明它无法使用这种编码对文件中的符号进行解码。因此,您需要找到用于创建该文件的文件。 我认为
cp1251
非常常见

pd.read_csv('list_of_items.csv', skiprows=1 encoding="cp1251")
关于熊猫的一些起点-有很多关于它的很酷的教程。例如,官方文件:
当pandas读取CSV时,它默认使用utf-8编码读取CSV,但是,也可以使用其他编码格式。
read\u csv
函数可以将编码格式作为参数

代码如下:

df = pd.read_csv('file.csv', encoding = "ISO-8859-1")
有许多不同的格式,你可以尝试,这里是完整的。我建议使用记事本或其他文本编辑器打开文件,然后使用utf-8编码保存为CSV


如果您只需要读取几个csv文件,则可以使用以下代码:

df = pd.read_csv('file.csv', engine='python')

问题就在档案上。当我用记事本打开它时,我看到一堆乱七八糟的东西,因此utf-8编码无法解码。我只是改变了文件的格式,效果很好。非常感谢。我一直在网上查阅教程,但在决定之前,我总是询问更有经验的人。非常感谢您的建议,我将坚持使用文档。@Klaiv_Mrt请随意提问:)为此而创建