обновление в CSV-файле с использованием Python - PullRequest
0 голосов
/ 27 апреля 2011

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

def csv_writer(data_list,file_path):
    import csv
    file_p = open(file_path, "wb")
    write_pattern = csv.writer(file_p, delimiter=",", quotechar=",")
    write_pattern.writerow(data_list)
    file_p.close() 

Пример списка данных:

data_list = ['a', '', 'a', 'a', 'd', 'e']

И я пытаюсь получить данные в файле следующим образом:

a,,a,d,e
a,b,c,d,e
a,g.j,l,m

Заранее спасибо.

Ответы [ 3 ]

5 голосов
/ 27 апреля 2011

Может, открыть файл в режиме добавления?

file_p = open(file_path, "ab")
0 голосов
/ 27 апреля 2011

delimiter и quotechar желательно выбирать как разные

Как я понял, цель состоит в том, чтобы вставить новую строку перед всем содержимымCSV файлВот код для этого:

import csv

def csv_writer(data_list,file_path):
    file_p = open(file_path, "rb+")
    reader_pattern = csv.reader(file_p, delimiter=",", quotechar="$")
    write_pattern = csv.writer(file_p, delimiter=",", quotechar="$")

    content = list(reader_pattern)

    file_p.seek(0,0)
    write_pattern.writerow(data_list)
    write_pattern.writerows(content)
    file_p.truncate()
    file_p.close()


data_list = ['a', '', 'a', 'a', 'd', 'e']


csv_writer(data_list,'Copie de zozou.txt')
0 голосов
/ 27 апреля 2011

Когда вы открываете файл, попробуйте открыть его для добавления, как это.

def csv_writer(data_list,file_path):
    import csv
    file_p = open(file_path, "a")
    write_pattern = csv.writer(file_p, delimiter=",", quotechar=",")
    write_pattern.writerow(data_list)
    file_p.close() 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...