Python 如何实时向文件写入数据(附代码)
作者:奥卡姆的剃刀 发布时间:2022-11-10 13:40:03
之前在做数据分析的过程中,需要对数据进行实时的写入,比如对新生成的数据写入之前已经生成的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()这行代码一定要加上,否则下次无法再次插入新的数据。
运行结果:
再次逐个写入,代码:
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文件中。
来源:https://blog.csdn.net/yilulvxing/article/details/87478134


猜你喜欢
- Exec 包我们可以使用官方的 os/exec 包来运行外部命令。当我们执行 shell 命令时,我们是在 G
- Excel是微软办公套装软件的一个重要的组成部分,它可以进行各种数据的处理、统计分析和辅助决策操作,广泛地应用于管理、统计财经、金融等众多领
- 要调用RPC接口,python提供了一个框架grpc,这是google开源的rpc相关文档:https://grpc.io/docs/tut
- 一、需求说明需要使用Python实现将内容转为base64编码,解码,方便后续的数据操作。二、base64简介Base64是一种二进制到文本
- 定义本地站点在Dreamweaver中制作网站,您必须定义一个本地站点,它是您的计算机上任意位置的一个
- 链表由一系列不必在内存中相连的结构构成,这些对象按线性顺序排序。每个结构含有表元素和指向后继元素的指针。最后一个单元的指针指向NULL。为了
- 前言最近遇到一个需求,有几十个Excel,每个的字段都不一样,然后都差不多是第一行是表头,后面几千上万的数据,需要把这些Excel中的数据全
- 问题官网中给的picker例子,每项只能是个字符串,但我需要它返回每个字符串对应的自定义ID,而不是index。vantUI官网:picke
- XML 的使用越来越广泛,但是很多 XML 的结构并不好。即便结构良好,也常常设计得很糟,使得处理和维护非常困难。而大部分用于 XML 的基
- 正则表达式中的符号例子 | 是或的关系,只要存在就会被捕获匹配到的数据只按字符串顺序返回,而不是按照匹配规则返回In [18]:
- 最近看到好多人说到tns或者数据库不能登录等问题,就索性总结了下面的文档。首先来说Oracle的网络结构,往复杂处说能加上加密、LDAP等等
- 说明:操作系统:Windows Server 2003MySQL版本:5.5.25MySQL程序安装目录:D:\Program Files\
- 加号+, 是字符串优先.并且从左向右计算. 就是运算前后两个值,只要有一个是字符串,就会将其中一个非字符串的试图转换成字符串.
- 使用 Beanstalkd 作为消息队列服务,然后结合 Python 的装饰器语法实现一个简单的异步任务处理工具.最终效果定义任务:from
- 1、获取插入数据的主键idimport pymysqldatabase = pymysql.connect( host=&quo
- 先装 MYSQL 的 ODBC 驱动然后'connect to MySQL server&n
- 另外他们列出的这些区别有些是蛮有意义的,有些可能由于他们本人的MySQL DBA的身份,对Oracle的理解有些偏差,有些则有凑数的嫌疑.
- 1、简述asp的6个内置对象和其功能答案 : session ,server ,response,request,objectcontext
- 查看数据库状态:service mysqld status 启动数据库:service mysqld start&
- 1、说明当函数/方法执行出现异常,会将异常传递给函数/方法的调用一方。如果传递到主程序,仍然没有异常处理,程序才会被终止。2、实例def d