我正在尝试将CSV作为数据框读取,然后按列排序,然后将已排序的数据帧输出到新的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
如果有人能够解决我的问题并指出正确的方向,我真的很感激!
答案 0 :(得分:1)
您在谈论未命名的专栏吗?
尝试使用
sorteddf.to_csv('test.csv', index=False)
这告诉大熊猫不要输出内置索引列(大部分时间你都不关心这个)
答案 1 :(得分:0)
您有解码/编码问题。您的编码在“latin-1”中不在“ISO”中。除非你弄清楚为什么要读这样的数据,否则很难解决这个问题。