脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Python 如何实时向文件写入数据(附代码)

Python 如何实时向文件写入数据(附代码)

2022-07-11 16:50奥卡姆的剃刀 Python

这篇文章主要介绍了Python 如何实时向文件写入数据(附代码),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

之前在做数据分析的过程中,需要对数据进行实时的写入,比如对新生成的数据写入之前已经生成的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的文件,注意:如果当前目录下没有这个文件,则会自动生成test3.csv文件,如果当前目录下已经有了test3.csv的文件,那么在新建结束后,会将原始的test3.csv文件覆盖。
  • ​ "a"表示导入的数据不会讲test3.csv文件中的原始数据覆盖,即:在后面继续添加,如果需要覆盖,则将"a"改成"w"即可。
  • 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()这行代码一定要加上,否则下次无法再次插入新的数据。

运行结果:

Python 如何实时向文件写入数据(附代码)

再次逐个写入,代码:

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()

运行结果:

Python 如何实时向文件写入数据(附代码)

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

Python 如何实时向文件写入数据(附代码)

注意的地方

如果不是逐行写入,而是直接将数组一次性写入到csv文件中(相当于多行写入),则上述代码中改用writerows即可

 

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

实时向txt文件写入内容的过程,与创建csv文件,实时向文件写入内容大致相同,只需要添加一个换行符就行。

代码:

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

运行结果:

Python 如何实时向文件写入数据(附代码)

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

 

再次向txt文件中写入数据

代码:

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

运行结果:

Python 如何实时向文件写入数据(附代码)

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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文地址:https://blog.csdn.net/yilulvxing/article/details/87478134

延伸 · 阅读

精彩推荐