首页 > 解决方案 > 为什么 Pandas 坚持写入 CSV 中已经填满的行

问题描述

这是我的 CSV 文件:

name;sex;email
paul;male;paul@gmail.com

然后我尝试将这两个用户添加到 CSV:

import pandas

users = [
    {'name': "john", 'sex' : 'male', 'email' : 'john@gmail.com'},
    {'name': "yoko", 'sex' : 'female', 'email' : 'yoko@gmail.com'}
    ]

df = pd.DataFrame(users)
df.to_csv('users.csv', sep=';', mode='a', header=False, index=False)

但 Pandas 坚持在 Paul 的台词上写下 John 的信息:

name;sex;email
paul;male;paul@gmail.comjohn;male;john@gmail.com
yoko;female;yoko@gmail.com

为什么?我们怎样才能给约翰自己的台词?请帮助我们!!

标签: pythonpandascsvdictionary

解决方案


看起来您要附加的文件没有以换行符结尾 - 而且 pandas 在开始写入之前不会插入换行符。

在执行 df.to_csv(...) 之前,您可能可以执行以下操作:

with open('users.csv', 'a') as f:
    f.write('\n')

推荐阅读