В качестве альтернативы и с учетом вашего «вопроса комментария» (если вы не обязательно хотите использовать pandas, как в ответе n1colas.m) используйте замену строк и просто l oop поверх вашего файла с помощью:
with open("modified_file.csv","w") as of:
with open("report.csv", "r") as inf:
for line in inf:
if "#" not in line: # in the case your csv file has a comment marker somewhere and it is called #, the line is skipped, which means you get a clean comma separated value file as the outfile- if you do want to keep such lines simply remove the if condition
mystring=line.replace(", ,","not_found").replace("data","input") # in case it is not only one blank space you can also use the regex for n times blank space here
print(mystring, file=of, end=""); # prints the replaced line to outfile and writes no newline
Я знаю, что это не самый эффективный способ сделать это, но, вероятно, тот, при котором вы легко понимаете, что делаете, и можете изменить это по своему желанию. С любыми CSV-файлами разумного размера он мог работать почти мгновенно. Также для целей тестирования всегда используйте отдельный файл (из) для таких замен вместо того, чтобы писать в свой infile, как кажется в вашем вопросе. Убедитесь, что он сделал то, что вы хотели. ТОЛЬКО ТОГДА перезапишите свой infile. Сначала это может показаться ненужным, но случаются ошибки ...