我试图找到删除选定行的方法,但是唯一的方法是使用熊猫。
[我想做的是删除与csv库匹配的整行(错误很好,因为如果该行不存在,我会编写代码),因为我已经围绕所述库开发了代码,被告知“ wb”可用于删除行,但我只能删除2个单元格(甚至不起作用)
with open('StudentDetails.csv', 'wb',) as csvfile:
csvFileWriter = csv.writer(csvfile)
a = delete_student_entry.get()
b = delete_password_entry.get()
csvFileWriter.writerow([a,b])
with open("StudentDetails.csv", "r") as f:
lines = f.readlines()
with open("StudentDetails.csv", "w") as f:
for line in lines:
if line.strip("\n") != "YOUR ROW HERE":
f.write(line)
这将在删除您要避免的行时覆盖文件。
如果您确实要使用csv
库,则可以执行以下操作-
import csv with open('StudentDetails.csv', newline='') as csvfile: csvreader = csv.reader(csvfile, delimiter=' ', quotechar='|') output = [x for x in csvreader if x != [YOUR LINE HERE AS A STRING]] with open('StudentDetails.csv', 'w', newline='') as csvfile: csvreader = csv.writer(csvfile, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL) for x in output: csvreader.writerow(x)