Я пытаюсь добавить новую строку к своему старому файлу CSV. В основном это обновляется каждый раз, когда я запускаю скрипт Python.
Прямо сейчас я храню старые csv значения строк в списке и затем удаляю файл CSV и создаю его снова с новым значением списка.
Требуемый для знания там любые лучшие способы сделать это.
Вы открываете файл в режиме '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» к режиму, так что вы можете использовать его независимо от платформы для всех двоичных файлов .
with open('document.csv','a') as fd:
fd.write(myCsvRow)
Открытие файла с параметром 'a'
позволяет добавить в конец файла вместо простой перезаписи существующего содержимого. Попробуй это.