在使用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计数两次。如何摆脱多余的多余列?
答案 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)