python - 如何不覆盖数据框中的 csv 文件?
问题描述
我正在运行 python 脚本。但它每次都会覆盖文件。你能帮我怎么做吗?
例子:
DF1
Table Count
case 20
recordtype 50
consumer 70
settlement 150
address 250
bridge 130
我只为“案例”和“消费者”运行了这个过程。现在,万一和消费者的新计数是 80 和 150,但我得到这样的文件
DF1
Table Count
case 80
consumer 150
但我想要最终结果:
DF1
Table Count
case 80
recordtype 50
consumer 150
settlement 150
address 250
bridge 130
我正在使用以下代码将数据框保存在文件中:
df_s.to_csv('/medaff/Scripts/python/count.txt', sep = '|', index= False)
解决方案
您需要选择 mode=append 将其附加到现有的 csv 文件中。检查文件是否存在于路径中。如果存在,设置 mode=append 否则创建一个新的 csv 文件。并且您需要选择 header=False 以确保标题不会出现在附加模式中。
import os.path
if(os.path.isfile('Your path')):
df_s.to_csv('Your path', sep = '|', mode='a', index= False,header=False)
else:
df_s.to_csv('/medaff/Scripts/python/count.txt', sep = '|', index= False)
推荐阅读
- java - Java函数没有返回预期值
- shell - 无法从 Makefile 调用函数
- kubernetes - 节点成功加入主节点,但当 kubectl get nodes “与服务器 localhost:8080 的连接被拒绝”时出错
- windows - CoCreateInstance 返回“未注册 REGDB_E_CLASSNOTREG 类”
- c++ - 为什么显示 QProgressDialog 时没有显式调用 `exec()` 或 `show()`?
- visualization - Graphviz:左右子图,子图中的左右
- c# - Blazor 触发自定义验证消息
- sql-server - SQL CMD:使用括号和单引号传递变量
- linux - 在 POSIX shell (/bin/sh) 中处理变量范围(while 循环中的管道)?
- regex - Powershell中的正则表达式以排除所有以文本开头的新行