读取和写入csv文件

时间:2019-08-13 20:55:11

标签: python pandas

在使用pandas库时,我想读取数据并将其写入csv文件。使用to_csv将DataFrame写入csv文件,一切都很好。当我尝试将值读回python解释器时,就会出现我的问题。

参数index_col = None不会更改输出。

#Pass some keys and values to a pandas DataFrame held in variable df
df = pd.DataFrame({'Artist':['Sublime','Blink 182','Nirvana'],
'Album':['Sublime','Blink 182','Nevermind'],
'Hit Single':["What I've Got", 'All the Small Things',
'Smells Like Teen Spirit']})

#Print DataFrame
df


#Write the data to a spreadsheet(comma separated value file type)
df.to_csv('filename.csv')

#Read the values back into the df varaible
df =pd.read_csv('filename.csv')

#Print out values in df variable
df

使用read_csv读回数据后,第二列的顶部将出现Unnamed(无名):另外一组数字索引从0到2 0计数两次。如何摆脱多余的多余列?

3 个答案:

答案 0 :(得分:1)

之所以会这样,是因为您要将index保存到文件中。您可以使用:

df.to_csv('filename.csv', index=False)

df =pd.read_csv('filename.csv')
df
Out[1]:
    Artist      Album       Hit Single
0   Sublime     Sublime     What I've Got
1   Blink 182   Blink 182   All the Small Things
2   Nirvana     Nevermind   Smells Like Teen Spirit

这将防止创建多余的列,因为它不会将索引保存到新文件中。

答案 1 :(得分:0)

只需将index = False添加到“实例方法” to_csv()中,您的csv读写就将变得整洁。

答案 2 :(得分:0)

如果您需要阅读index,请使用

df = pd.read_csv("filename.csv", index_col=0)

如果不这样做,请使用

保存

df.to_csv('filename.csv', index=False)