如何在Python 3.4.4中不使用熊猫的情况下删除特定行?

问题描述 投票:0回答:1

我试图找到删除选定行的方法,但是唯一的方法是使用熊猫。

[我想做的是删除与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])
python excel python-3.x csv python-3.4
1个回答
0
投票
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)

© www.soinside.com 2019 - 2024. All rights reserved.