Не удается получить Python для замены строки в CSV (вместо этого создает новую строку) - PullRequest
0 голосов
/ 18 октября 2018
def deletedata(uniquecode):
    with open('Stallingsbestand.csv', 'r+') as CSV:
        writer = csv.writer(CSV, delimiter=';')
        for row in CSV:
             if uniquecode in row:
                 writer.writerow((uniquecode, ''))

в Stallingsbestand.csv состоит из строк, которые выглядят следующим образом:

uniquecode;Date_of_last_opening_a_function

Я хочу иметь возможность удалить дату последнего открытия и просто иметь уникальный код там.

(добавление False в конец строки тоже может сработать, но я не знаю, что проще)

Я думал, что перезаписать строку будет проще, но я могуне заставить его работать.Есть кто-нибудь, кто знает, как заставить это работать?

1 Ответ

0 голосов
/ 18 октября 2018

Вы хотите переименовать файл в Stallingsbestand.old и записать новую версию Stallingsbestand.csv.Один из способов сделать это - скопировать (иногда) измененные строки из csv.reader в csv.writer внутри цикла, аналогично вашему текущему коду.

Возможно, вам будет удобнее создать внутреннийКадр данных памяти с pandas.read_csv(), измените один из его рядов, а затем сохраните его с pandas.to_csv().

https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html

https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_csv.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...