Как преобразовать несколько CSV-файлов в каталоге в текстовые файлы с разделителями-пробелами, используя Python3 - PullRequest
0 голосов
/ 25 мая 2018

Итак, я новичок в Python (3) и мне нужно создать цикл, который будет проходить через почти 200 CSV-файлов и преобразовывать их каждый в файл .txt с разделителями в виде трубы (с тем же именем).

У меня есть код, который делает это для 1 файла и отлично работает:

import csv

with open('C:/Path/InputFile.csv', 'r') as fin, \
open('C:/Path/OutputFile.txt', 'w') as fout:
reader = csv.DictReader(fin)
writer = csv.DictWriter(fout, reader.fieldnames, delimiter='|')
writer.writeheader()
writer.writerows(reader)

Заранее спасибо.

1 Ответ

0 голосов
/ 25 мая 2018

Вы должны изменить свой код на:

 for in_name, out_name in zip(list_of_in_names, list_of_out_names):
     with open(in_name, 'r') as fin, open(out_name, 'w') as fout:
         ...

Где list_of_in_names и list_of_out_names имена файлов, из которых вы хотите читать и записывать соответственно.

Редактировать: По адресуВопрос из комментариев вы можете использовать в библиотеке pathlib:

from pathlib import Path

for in_path in Path('C:/Path').glob('*.csv'):
     out_path = in_path.with_suffix('.txt')
     with in_path.open('r') as fin, out_path.open('w') as fout:
         ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...