首页 > 解决方案 > 避免使用 pandas 进行 csv 编辑

问题描述

我正在使用 pandas 来加载、修改和保存 csv 文件。实际上 pandas 及其数据框功能对我来说只是一种解决方法,因为我不需要这个。我只需要它,因为我必须修改我的 csv 文件。

我需要删除某些行(行)。我目前的代码如下:

import pandas as pd
test=pd.read_csv('myfile.csv', sep=';', skiprows=[0,1,3,4,6])
test.to_csv('myoutputfile.csv', index=False, sep=';')

我想直接操作 csv 文件。我知道,例如import csvnext(reader)我可以跳过第一行。但是,我需要跳过这些特定的行:skiprows=[0,1,3,4,6]而且我不知道该怎么做。那么有没有办法在不使用 pandas 的情况下修改 csv 文件并保存更改?

标签: pythonpandasdataframecsv

解决方案


通常,如果您有要跳过的行列表,则可以使用以下内容:

import csv

skiprows = (0,1,3,4,6)
with open('myfile.csv') as fp_in:
    reader = csv.reader(fp_in, delimiter=';')
    rows = [row for i, row in enumerate(reader) if i not in skiprows]
    with open('myoutputfile.csv', 'w', newline='') as fp_out:
        writer = csv.writer(fp_out)
        writer.writerows(rows)

推荐阅读