Списки текстовых файлов, записанные в текстовый файл с конкатенированной строкой, разделенной запятыми - PullRequest
0 голосов
/ 11 апреля 2020

Как совсем новый пользователь Python 3.7, мне нужно написать текстовый файл с одним или несколькими словами в каждой строке - списком - в текстовый файл с одной объединенной строкой, разделенной запятыми.

Например, яблоки, апельсины, бананы на отдельных строках или два или три слова на отдельной строке, объединенные в одну длинную строку с запятыми, показывающими, где заканчивается каждая строка.

Я использовал этот код, заимствованный из этот сайт, но он производит запятые в конце каждого слова в строке:

with open('data.txt') as infile, open('dataout.txt', 'w') as outfile:
    outfile.write(infile.read().replace(" ", ", "))

Я ищу что-то подобное выше, используя «с открытым» из-за его более эффективной «сборки мусора» в более длинных списках, если я правильно понимаю это объяснение. Тогда я смогу использовать свои очень ограниченные знания для некоторых задач разбора.

Ответы [ 3 ]

0 голосов
/ 11 апреля 2020

Я думаю, это может быть то, что вы ищете

with open('data.txt') as infile, open('dataout.txt', 'w') as outfile:    
        lines = infile.read()
        for line in lines:
            outfile.write(f"{line},")
0 голосов
/ 11 апреля 2020

Попробуйте это

with open('data.txt') as infile, open('dataout.txt', 'w') as outfile:
    outfile.write(infile.read().replace("\n", ", "))
0 голосов
/ 11 апреля 2020

Две возможности: (1) заменить перевод строки желаемыми запятыми; (2) прочитайте файл как список строк, затем ','.join(list_of_lines)

Обратите внимание, что второй может реализовать list_of_lines как понимание списка, используя итератор read.

...