怎么使用Python实时向文件写入数据
小编写这篇文章的主要目的,主要是讲解一下关于Python的一些知识,比如教大家怎么能够实时的去进行写入数据,提高工作的效率,关于其具体的代码,下面小编给大家详细解答下。
之前在做数据分析的时候,我们需要处理大量高并发的数据,比如对新的数据去进行处理,那么,怎么处理呢?下面给大家进行一个详细的解答。
1:实时向csv文件写入数据
假设需要生成一张csv表,里面的字段对应一些数据,由于后续的过程中,不止一次写入数据,那么安全的做法是:
首先写入字段;
然后写入数据(否则字段也会每次被写入)
步骤1:创建文件并写入字段
import csv with open( test3.csv , a ,newline= 39; 39;)as csvfile: writer=csv.writer(csvfile,delimiter= 39; 39;) 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= 39; 39;)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= 39; 39;)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( 39;testing.txt 39;, 39;a 39;)as f: f.write( 39;%s%s%s 39;%( 39;姓名 39;, 39;国籍 39;, 39;金额 39;))
运行结果:
结果生成了一个testing.txt的文件。
再次向txt文件中写入数据
代码:
with open( 39;testing.txt 39;, 39;a 39;)as f: f.write( 39;\n 39;)#换行 f.write( 39;%s%s%d 39;%( 39;张三 39;, 39;中国 39;,2000))
综上所述,关于python处理数据,就为大家介绍到这里了,希望可以给大家带来一定的帮助。