无法让python替换csv中的行(而是创建新行)

2024-10-05 10:16:56 发布

您现在位置:Python中文网/ 问答频道 /正文

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也可以,但我不知道哪个更容易)

我以为重写行是最简单的,但我无法让它工作。有人知道怎么做吗


Tags: csvinforifdefaswithopen
1条回答
网友
1楼 · 发布于 2024-10-05 10:16:56

您想将文件重命名为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

相关问题 更多 >

    热门问题