добавьте новую строку к старому Python файла CSV

Я пытаюсь добавить новую строку к своему старому файлу CSV. В основном это обновляется каждый раз, когда я запускаю скрипт Python.

Прямо сейчас я храню старые csv значения строк в списке и затем удаляю файл CSV и создаю его снова с новым значением списка.

Требуемый для знания там любые лучшие способы сделать это.

173
задан fifi finance 6 October 2015 в 13:22
поделиться

2 ответа

Вы открываете файл в режиме 'a' вместо 'w'?

См. Чтение и запись файлов в документации python

7.2. Чтение и запись файлов

open () возвращает файловый объект и чаще всего используется с двумя аргументами: open (имя файла, режим).

 >>> f = open ('рабочий файл', 'w') 
 >>> print f <открытый файл 'рабочий файл', режим 'w' на 80a0960> 
 

Первый аргумент - это строка, содержащая имя файла. Второй аргумент - это другая строка, содержащая несколько символов, описывающих способ использования файла. mode может быть 'r', если файл будет только для чтения, 'w' только для записи (существующий файл с тем же именем будет удален), а 'a' открывает файл для добавления; любые данные, записанные в файл, автоматически добавляются в конец. 'r +' открывает файл для как чтения, так и записи. Аргумент режима не является обязательным; 'r' будет предполагаться, если он опущен.

В Windows «b», добавленное к режиму, открывает файл в двоичном режиме, поэтому существуют также такие режимы, как «rb», «wb» и «r + b». Python в Windows различает текстовые и двоичные файлы; символы конца строки в текстовых файлах автоматически слегка изменяются при чтении или записи данных . Это негласное изменение данных файла подходит для текстовых файлов ASCII, но приведет к повреждению двоичных данных, подобных этому , в файлах JPEG или EXE. Будьте очень осторожны, используя двоичный режим при чтении и записи таких файлов. В Unix не помешает добавить букву «b» к режиму, так что вы можете использовать его независимо от платформы для всех двоичных файлов .

12
ответ дан 23 November 2019 в 20:36
поделиться
with open('document.csv','a') as fd:
    fd.write(myCsvRow)

Открытие файла с параметром 'a' позволяет добавить в конец файла вместо простой перезаписи существующего содержимого. Попробуй это.

216
ответ дан 23 November 2019 в 20:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: