python - 使用 Python 删除 CSV 文件中的行

标签 python csv

我想删除与参数匹配的特定行并从 CSV 文件中删除该行。我似乎找不到解决方案。

示例 CSV 数据如下:

Apple, 1.0, 1.0
Banana, 2.1, 2.1
Carrot, 3.2, 3.2

假设我只想删除 banana 行,可以吗?

def delete_place(name):
    file = open('data/db.csv', 'r')
    reader = csv.reader(file)

    for row in reader:
        if name != row[0]:
            return 'Place not found.', 400
        else:
            # todo: delete line in csv
            return 'Place with name {} deleted.'.format(name), 200

最佳答案

您可以将 csv 文件读取到 pandas dataframe 中,然后应用选择/删除操作。稍后将修改后的数据帧转储到 csv 文件中

import pandas as pd
df = pd.read_csv('data/db.csv')
df = df[df['1']!='Banana'] # I am assuming the csv file had no header, hence by default it used 1 as the header of first column
df.to_csv('data/db_modified.csv', header=False, index=False)

关于python - 使用 Python 删除 CSV 文件中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59842731/

相关文章:

java - 用于删除内部双引号的正则表达式

python - 跨过 yield 语句

python - 不和谐.py |从 url 播放音频

python - 当我的 friend 尝试使用我的可执行文件时,如何避免出现 "Windows protected your PC"问题?

c - 将 .csv 文件读入 C 中的数组

regex - 仅从 CSV 的第二个字段中删除 ":"并忽略其他字段

javascript - JavaScript 中 Leaflet Omnivore csv 数据的层组和控制

python - django 1.8.3 python manage.py 迁移 Linux

python - numpy memmap内存使用-想要迭代一次

java - 如何使用 java servlet 下载 csv 文件?