导出为CSV的数据框与出现在不同列中的数据不同,原来是

时间:2016-10-11 16:16:06

标签: python csv pandas export-to-excel

我正在尝试将CS​​V作为数据框读取,然后按列排序,然后将已排序的数据帧输出到新的CSV中。但是,问题是我的输出CSV看起来不像排序的数据帧,数据被移动到错误的列等等。我怀疑问题在于数据,因为有些列由长字符串组成,可能有特殊字符 - 这是因为当我删除某些列时,我在下面采取的步骤确实有效。我试图以字典和pickle格式导出和重新导入数据帧,它运行得很好。

首先我读了一个CSV文件,然后按列排序(我使用的csv文件可以在下面的评论中下载(< 100kb)

df = pd.read_csv("database.csv",encoding = "ISO-8859-1")
sorteddf = df.sort_values(by="All Comment Score")

This show how the dataframe looks after sorting (What I want)

然后,我将数据框存储在新的CSV文件中,并将该新CSV作为新数据框读取:

sorteddf.to_csv("test.csv")
newdf = pd.read_csv("test.csv",encoding = "ISO-8859-1")

但是,当我将新输出的CSV文件作为新数据帧读取时,列和数据似乎是一团糟: This shows how the dataframe imported from the output CSV actually looks like

如果有人能够解决我的问题并指出正确的方向,我真的很感激!

2 个答案:

答案 0 :(得分:1)

您在谈论未命名的专栏吗?

尝试使用 sorteddf.to_csv('test.csv', index=False) 这告诉大熊猫不要输出内置索引列(大部分时间你都不关心这个)

答案 1 :(得分:0)

您有解码/编码问题。您的编码在“latin-1”中不在“ISO”中。除非你弄清楚为什么要读这样的数据,否则很难解决这个问题。