我正在编写一个涉及id的简单命令行程序,我想让它每次运行一个函数时都应该为CSV文件添加一个值。我做了一个我认为有用的功能,但显然没有。我的一个for循环没有正确运行;(这是我的代码:
def addId(id):
file = open(ID_FILE_PATH, 'wb+')
read = csv.reader(file)
write = csv.writer(file)
existingRows = []
existingRows.append(id)
for rows in read: # This does not run
print rows
if len(rows) > 0 and rows[0] not in existingRows:
existingRows.append(rows[0])
for rows in existingRows: # This runs
write.writerow([rows])
file.close()
抱歉我的英文不好。
答案 0 :(得分:2)
使用以下命令打开文件:
file = open(ID_FILE_PATH, 'wb+')
According to the documentation:
请注意' w +'截断文件
你截断了文件,所以难怪没有什么可读的!请改用rb+
。