Прочитайте CSV как текстовый файл и токенизируйте его - PullRequest
0 голосов
/ 05 февраля 2019

У меня был предыдущий вопрос, в котором было слишком много компонентов, поэтому мне было предложено разбить задачу.Сначала я должен прочитать мой CSV как текстовый файл и токенизировать данные внутри.Когда я получаю сообщение об ошибке.

csv_file = 'Annual Budget.csv'
txt_file = 'Annual Budget.txt'
with open(txt_file, 'w') as my_output_file:
    with open(csv_file, 'r') as my_input_file:
        for row in csv_file.reader(my_input_file):
            my_output_file.write(" ".join(row)+'\n')

Это ошибка (вывод):

line 46, in <module>
    for row in csv_file.reader(my_input_file):
AttributeError: 'str' object has no attribute 'reader'

Что это значит и как можно решить эту проблему?

1 Ответ

0 голосов
/ 05 февраля 2019

Используйте CSV-модуль для создания экземпляра reader объекта.

Я не уверен на 100%, чего вы хотите достичь, но следующий код создаст из вашего CSV-файла текстовый файл с ячейками, построчно соединенными пробелами:

import csv

csv_file = 'Annual Budget.csv'
txt_file = 'Annual Budget.txt'
with open(txt_file, 'w') as my_output_file:
    with open(csv_file, 'r') as my_input_file:
        reader = csv.reader(my_input_file)
        for row in reader:
            my_output_file.write(" ".join(row)+'\n')

Обратите внимание, что создание экземпляра объекта читателя CSV (reader) принимает файл , а не имя файла в качестве параметра.

...