如何使用Python在CSV中编写新行

时间:2016-05-09 12:05:19

标签: python csv

我有这个生成随机数的代码。我希望它在每次运行时都将随机数保存在新的行/行上(代码)。

我尝试添加newLinenewRow,但它不起作用。

import csv
import random

newFile = open("random.csv",'w',newline='')
newWriter = csv.writer(newFile, dialect='excel')
newRow = []
case_number = random.randint(0,1000000000)
print("Your problem has been stored. We have allocated a case number which  will be sent off to a technician. Please take a note of your case number: ",  str(case_number))
newRow.append(case_number)
newWriter.writerow(newRow)
newFile.close()

我怎样才能缩短这段代码?

任何帮助将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:1)

我对原始代码进行了一些小修改。

取代" w"与" a" (追加)@ JRodDynamite建议 - 为了保存文件中的先前数据,并附加新数据

添加"" - 正如@Display Name所建议的那样 - 确保资源得到清理"当使用它的代码完成运行时。

将case_number定义为string(随机int的强制转换)。

我继续使用@Jason Cole使用的CSV编写器。

我删除了newRow和追加。

import csv
import random

with open("random.csv",'a') as newFile:
    newWriter = csv.writer(newFile, dialect='excel')
    case_number = str(random.randint(0,1000000000))
    print("Your problem has been stored. We have allocated a case number which  will be sent off to a technician. Please take a note of your case number: ",  case_number)
    newWriter.writerow([case_number])
    newFile.close()