我认为在对此主题尝试了数十个代码块之后,我的错误应该在其他地方。缩进对我来说似乎正确。代码的逻辑也。您能看到任何可以解决该问题的东西吗?
我想我应该首先对文件进行排序,然后才删除重复项,稍后将添加该代码,因为排序似乎是我要执行的操作的基础。
感谢您的输入。
Gemfile
===更新======
我设法进行排序但没有到正确的位置。它仅在标准输出上打印。我只想保存list-history.csv,但不起作用。我虽然使用了# SECTION 2.A: save current search to second csv file (permanently as a backup
saving_current_search = input("Would you like to save your search? Type [y]/[n]: ")
if saving_current_search == 'y':
# copy file1 to file2
with open('list.csv', 'r') as reader, open('list-history.csv', 'a') as writer:
for row in reader:
writer.write(row)
# sort permanent backup
with open('list.csv', newline='') as csvfile:
csv1 = csv.reader(csvfile, delimiter=',')
sort = sorted(csv1,key=operator.itemgetter(1))
for eachline in sort:
print(eachline)
。
writer.writerow(row)
===最后更新=======
我知道为什么会有这个问题。我有一个设计问题。在显示的代码中,您看不到它。但是我有一个文件('list-history.csv')打开了两次。第一次打开该文件时,我会使用附加选项'a'将所需的所有文本插入该文件中。第二次,我打开相同的文件对其进行排序,然后使用写选项“ w”。我正在调查这个问题。
问题在下次使用该脚本时出现:先前使用的写'w'已覆盖该文件。我认为这是我当前问题的解释。