Я довольно новичок в кодировании, но поскольку мне нужно написать несколько букв, я хотел написать скрипт для автоматического изменения имени в этом письме.
У меня есть текстовый файл с заполнителями для имя и csv-файл, в котором имена хранятся в следующем формате:
Surname;Firstname
Doe;John
Norris;Chuck
...
Теперь я создал этот скрипт:
import csv
import re
letterPATH = "Brief.txt"
tablePATH = "Liste.csv"
with open(letterPATH, "r") as letter, open(tablePATH, "r") as table:
table = csv.reader(table, delimiter=";")
rows = list(table)
rows = rows[1::]
print(rows)
for (surname, firstname) in rows:
#Check if first- and surname have correct output
#print(firstname)
#print(surname)
for lines in letter:
new_content = ""
print(lines)
lines = re.sub(r"\<Nachname\>", surname, lines)
print(lines)
lines = re.sub(r"\<Vorname\>", firstname, lines)
print(lines)
new_content += lines
with open(surname + firstname +".txt", "w") as new_letter:
new_letter.writelines(new_content)
У меня есть следующее Теперь проблема: существует файл, созданный текстовый файл для каждой записи, как и должно (JohnDoe.txt, ChuckNorris.txt и т. д.), однако только первый файл имеет правильное содержимое, а остальные пустые.
Пока отладка Я видел, что for-l oop в строке 18 повторяется только один раз, а оператор with повторяется несколько раз, как и должно. Я просто не понимаю, почему for-l oop не повторяется.
Приветствия и спасибо за вашу помощь! :)