В моем сценарии py мне нужно записать данные в файл csv с результатом из пяти столбцов в строке.Запись данных в одну строку csv Python
title:info title title title title
one two three four five
one two three four five
title:info title title title title
one two three four five
Я хочу использовать file.write()
метод, а не модуль CSV, если это вообще возможно.
for ip in open("list.txt"):
with open("data.txt", "a") as csv_file:
csv_file.write("\r Title:" + ip + ", Title, Title, Title, Title \r")
for line in open("0820-oRG-apflog.txt"):
new_line = line.split()
#search apflog for correct lines
if "blocked" in new_line:
if "src="+ip.strip() in new_line:
#write columns to new text file & remove headers from lines in files and add commas
csv_file.write(ip + ", " + new_line[11].replace("dst=", ", ") + new_line[12].replace("proto=", ", "))
try:
csv_file.write(new_line[14].replace("dpt=", ", "))
except IndexError:
pass
Когда я запускаю сценарий, я получаю результат:
title:info
title title title title
one
two three four five
Я пробовал: csv_file.write('%r\n%r\n%r\n' % (one, three, four))
и вариации, но эти данные просто не работает так, как мне нужно это.
Я не знаю, где мой код неправильный. Я думал, что .write()
будет записывать данные в одну строку, если не указано иное (из предыдущих применений).
Вопрос: Как сделать .write()
одной строки шаблона в одну строку csv и по-прежнему отделять шаблон от разных строк?
Спасибо!
Большое спасибо! По какой-то причине я всегда забываю о завершающей новой строке и сталкиваюсь с той же проблемой! – hjames