Конвертируйте папку с разделителями канала текстовыми файлами в CSV в Python - PullRequest
0 голосов
/ 04 января 2019

У меня есть папка .txt файлов, которые содержат «|» вместо запятых, и я пытаюсь получить его в формате CSV. Я нашел некоторый код, который предположительно будет работать, но я продолжаю получать ошибку «итератор должен возвращать строки, а не байты (вы открывали файл в текстовом режиме?)». Код, который я нашел, не был вложен в цикл for, может ли это быть проблемой?

код:

import csv
import os

folder_path= r'C:\Users\%user%\Documents\data\Dataset'
txt_files = os.listdir(folder_path)

to_csv = []

for file in range(0, len(txt_files)):
    path_name = os.path.abspath(os.path.join(folder_path, txt_files[file]))
    to_csv.append(path_name)

for file in to_csv:
    with open(file, "rb") as f:
        with_pipes = csv.reader(f, delimiter='|')
        wo_pipes = list(with_pipes)

1 Ответ

0 голосов
/ 04 января 2019

Изменить открытый оператор на:

with open(file, "r", encoding="utf-8") as f:

Это откроет файл в текстовом режиме, а не в двоичном режиме, а кодировка позволяет читать содержимое не ASCII

...