目前,它正在删除CSV中的所有内容,以及如何创建默认编号,以便它将从第2行删除到特定行
这就是我正在做的
import csv
user_input = input("Please enter a row name to be deleted.")
read = open('color.csv', 'rb')
write = open('color.csv', 'wb')
writer = csv.writer(write)
for row in csv.reader(user_input):
if row == input:
writer.writerow(row)
read.close()
write.close()
print('Used colors names deleted')
主要原因是从文件中删除所有内容是因为您在读模式和写模式下打开了同一个文件。以写模式打开现有文件将完全清除该文件
相关文件:here
(强调矿山)
您的代码还有很多其他问题:
input()
存储在{csv.reader(...)
而不是文件句柄newline=""
row
(列表)与作为字符串的user_input
要修复它,请为输出打开另一个文件,读取输入文件,将行的第一个值与userinput进行比较,如果匹配,则跳过写入这一行
最后,请参阅csv中删除行的其他相关文章-您这里的问题不是重复,因为这些内容碰巧没有使用相同的名称覆盖手头的文件
创建csv演示文件:
过程文件:
输出:
要在添加的InputedColor之后删除多行,请执行以下操作:
要获得以下内容的输出:
要跳过某些行范围,可以执行以下操作:
要获得以下内容的输出:
有关文件打开模式的说明,请参见Difference between modes a, a+, w, w+, and r+ in built-in open function?
相关职位:
相关问题 更多 >
编程相关推荐