Python 删除CSV中的整个特定行
初始化文件如下所示:Python 删除CSV中的整个特定行,python,csv,Python,Csv,初始化文件如下所示: 1;2019-03-20 22:43:00.934775;200;3;60;0.05;0.05;20_File_18289094.csv;2; 2;2019-03-20 22:46:42.582782;200;3;60;0.05;0.05;21_File_16565692.csv;2; 3;2019-03-20 22:46:52.971144;200;3;60;0.05;0.05;22_File_22368393.csv; 我想读取并删除同一文件的特定行,我的目标是查找行
1;2019-03-20 22:43:00.934775;200;3;60;0.05;0.05;20_File_18289094.csv;2;
2;2019-03-20 22:46:42.582782;200;3;60;0.05;0.05;21_File_16565692.csv;2;
3;2019-03-20 22:46:52.971144;200;3;60;0.05;0.05;22_File_22368393.csv;
我想读取并删除同一文件的特定行,我的目标是查找行的第一列,并将其完全删除。到目前为止,这是我的代码,但它只是在替换;对,
这就行了
使用允许读写的r+标志打开文件
outdata是帖子清理内容的占位符列表
在本例中,循环检查第一个值是否与匹配,否则将其添加到将要写出的日期
seek会让您返回到文件的开头,否则会出现类似于append的行为
写下你清理过的内容
truncate删除之前尚未写入的数据,否则将得到第2、3、3行
with open("file_master", 'r+') as outf:
outdata = []
for line in outf.read().split("\n"):
line_items = line.split(";")
if line_items[0] == "1":
pass
else:
outdata.append(",".join(line_items))
outf.seek(0)
outf.write("\n".join(outdata))
outf.truncate()
我想你忘了提你想解决的问题了。也就是说,您的读者可能不会读取任何内容,因为当您尝试从中读取时,它所读取的文件已在context@MadWombatHi thank我想删除整行如果行的第一列等于1Hi thank u,我想删除整行而不仅仅是第一列,如果行的第一列等于1。
with open("file_master", 'r+') as outf:
outdata = []
for line in outf.read().split("\n"):
line_items = line.split(";")
if line_items[0] == "1":
pass
else:
outdata.append(",".join(line_items))
outf.seek(0)
outf.write("\n".join(outdata))
outf.truncate()