python - 为什么 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
为什么?我们怎样才能给约翰自己的台词?请帮助我们!!
解决方案
看起来您要附加的文件没有以换行符结尾 - 而且 pandas 在开始写入之前不会插入换行符。
在执行 df.to_csv(...) 之前,您可能可以执行以下操作:
with open('users.csv', 'a') as f:
f.write('\n')
推荐阅读
- browser - 我可以检测它是移动设备还是桌面设备,但我想进一步检测哪个移动浏览器正在访问 URL?
- python - 在 .next 函数之后使用 [...] 是什么意思?
- javascript - 我想显示输入文件名而不是完整路径
- execution - GraphDB free 不能在 Windows 10 上运行
- java - 有没有办法减少多个类型参数?
- node.js - jsondiffpatch nodejs中的字符串差异
- javascript - 我怎样才能切换动态克隆或生成的“复选框”?
- jquery - 达到 maxlength 错误时将焦点移到 keyup 上
- c# - C# Directory EnumerateFiles:掩码“*.*”和“*”的区别?
- ios - Xamarin PCL 项目 - 我的 iOS 应用程序未在 iOS 12.1 及更低版本中启动..它在 12.1 及更高版本中运行良好,直到最新的 13.2