Python 实时向 CSV 和 TXT 文件追加数据的实现方法

码头散步
码头散步
发布时间:2026-10-15| 6人浏览过
原创

本文介绍如何使用 Python 将新生成的数据实时追加到现有的 CSV 或 TXT 文件中。通过演示 csv 模块的 writerow 和 writerows 方法,以及文件打开模式 'a' 的使用,详细讲解了如何避免数据覆盖、处理换行符及正确关闭文件,确保数据持久保存。

在数据分析场景中,经常需要将新生成的数据实时写入到已存在的 txt 或 csv 文件中。这一过程看似复杂,实则通过简单的文件操作即可实现,以下是对该技术的总结。

1:实时向csv文件写入数据

若需生成一张包含特定字段的 csv 表,且后续需多次写入数据,建议采取以下安全策略:

  • 首先写入表头字段;
  • 随后再写入具体数据,以避免字段名被重复写入。

步骤1:创建文件并写入字段

import csv
with open("test3.csv","a",newline='') as csvfile: 
    writer = csv.writer(csvfile, delimiter=' ')
    writer.writerow(["index","a_name","b_name"])

上述代码参数解释:

  • ​ test3.csv 指定要创建的文件名为 test3.csv。需注意:若当前目录不存在该文件,系统会自动生成;若已存在,则原始文件会被覆盖。
  • ​ "a" 指定文件打开模式为追加模式,确保新数据不会覆盖 test3.csv 中的原始内容,而是添加在文件末尾。如需覆盖,可将参数改为 "w"。
  • newline=’ ’ 指定 newline='',防止在 csv 文件的每一行前出现额外的空行。此参数必须添加,否则可能导致格式错误。

步骤2:写入数据

list1=[0,0,0]
list2=[1,1,1]
data_array=[[5,5,5],[1,2,3]]
with open("test3.csv","a",newline='') as csvfile: 
    writer = csv.writer(csvfile)
    # 多行写入用writerows
    writer.writerows(data_array)
    # 单行逐个写入用 writerow
#     writer.writerow(list1)
#     writer.writerow(list2)
    
    # 执行添加数据操作之后,要写close关闭,否则下次无法再次插入新的数据
    csvfile.close()

实时写入数据时,支持逐个写入或一次性写入多个数据。对于多行数据,应使用 writerows 方法;

对于单行数据,逐个写入则使用 writerow 方法,具体根据需求选择。务必调用 close() 关闭文件,否则下次无法再次插入新数据。

运行结果:

再次逐个写入,代码:

list1=[0,0,0]
list2=[1,1,1]
data_array=[[5,5,5],[1,2,3]]
with open("test3.csv","a",newline='') as csvfile: 
    writer = csv.writer(csvfile)
    # 写入多行用writerows
#     writer.writerows(data_array)
#     写入单行用 writerow
    writer.writerow(list1)
    writer.writerow(list2)
    
    # 执行添加数据操作之后,要写close关闭,否则下次无法再次插入新的数据
    csvfile.close()

运行结果:

结果显示,逐个添加数据成功。

注意的地方

若非逐行写入,而是直接将数组一次性写入 csv 文件(即多行写入),则上述代码中应改用 writerows 方法。

2:实时向txt文件写入数据

实时向 txt 文件写入内容的过程,与创建 csv 文件并实时写入内容大致相同,主要区别在于需要手动添加换行符。

代码:

with open ('testing.txt','a') as f:
    f.write('%s       %s      %s'%('姓名','国籍','金额'))

运行结果:

结果生成了一个 testing.txt 的文件。

再次向txt文件中写入数据

代码:

with open ('testing.txt','a') as f:   
    f.write('\n')     #换行
    f.write('%s       %s      %d' %('张三','中国',2000))

运行结果:

结果显示,已经将数据写入txt文件中。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持本站。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。