使用Python写入CSV文件并添加数据

时间:2017-07-20 02:55:14

标签: python csv

我有一个python脚本告诉我什么时期'它(对于学校)然后输出到csv文件:

john,4

我有另一个python脚本,一旦他们通过磁卡读卡器刷出学生卡,然后将其输出到CSV文件中,就会抓住学生的名字。

我想要发生的事情是,当他们刷卡时,他们的名字会被导入到CSV中,然后会在其旁边导入句点(例如 John,4 Marcus,4 )。然后下一个学生将刷卡,他们的名字和期限将被放在最后的学生之下

 import csv
 import datetime

 ## EQ ID

 eqid = "john" ## Output from magnetic card reader


 ## CSV writer

 ofile = open('attendance.csv', "wb")
 writer = csv.writer(ofile, delimiter=',')
 writer.writerow([eqid])
 ofile.close() 

但是每次刷卡时,csv文件都会被删除,然后当前学生的名字就会留在那里。

{{1}}

这只是一个临时模拟,最终的代码将包含两个代码。

TL; DR - 如何将python添加到CSV文件而不是仅重写整个文件?

1 个答案:

答案 0 :(得分:0)

  

但是每次刷卡时,csv文件都会被删除,然后当前学生的名字就会留在那里。

这是因为每次刷卡都会写入("wb")文件,这意味着会创建一个新文件(将删除具有相同名称的现有文件)。因此,您应该使用"ab"模式,该模式在现有文件中附加值。 这一行

ofile = open('attendance.csv', "wb")

应改为

ofile = open('attendance.csv', "ab")

现在每次刷卡都会附加值。

您可以在https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files

查看文件操作