readlines () не работает при использовании файла CSV - PullRequest
0 голосов
/ 21 января 2019

Итак, у нас есть файл "file.csv", и я хочу извлечь из него некоторые данные, используя Python.
Проблема для меня в том, что строки отформатированы не в стандартном формате CSV, а вместо этого строка выглядит следующим образом:

;a_value=value;b_value=value;

Поэтому моя идея заключалась в том, чтобы использовать .replace() для редактирования всего в строке так, чтобы в конце оно выглядело так, как хотелось бы:

'a_value':'value', 'b_value':'value'  

Для итерации и изменения каждогоСтрока Я следовал за идеей из этого вопроса из Изменить CSV-файлы?

Но я получаю:

AttributeError: 'str' object has no attribute 'readline'

Мой код:

with open(name_file, "r") as csv_file:
   data=name_file.readlines()
csv_file=close()

csv_file=open(name_file, "w")
for row in csv_file:
    #Replace commands
f.close()

1 Ответ

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

Это что-то довольно простое в этом случае;Когда вы открываете файл с помощью with open, вам нужно работать с определенной вами переменной типа файла, а не с путем к файлу.

В этом случае вы открываете файл, но затем пытаетесь прочитатьпуть к файлу на основе строки, а не тип file.

Так что вам нужно переписать ваш код следующим образом:

with open(name_file, "r") as csv_file:
   data=csv_file.readlines()

Надеюсь, это помогло!

PS, метод close нужен только тогда, когда вы этого не сделаетеиспользуйте ключевое слово with, когда вы выходите из блока с отступом, файл закрывается.

...