【问题标题】:How to delete rows (NOT columns) in a csv file如何删除 csv 文件中的行(非列)
【发布时间】:2016-04-29 18:47:27
【问题描述】:

我正在尝试删除 csv 文件中的特定行(不是列) 类项目。当我删除列时,我放了:

r=row 
r[22], r[21]
# and so on

那么如何指定我要删除行呢?我正在处理人口普查数据,并希望摆脱总是在人口普查表中的那一行额外的标题。 感谢您的帮助。

【问题讨论】:

  • 您是要物理删除文件的第一行,还是只想让 csv 阅读器忽略它?

标签: python csv rows


【解决方案1】:

将您的 csv 阅读器转换为列表并切掉相应的索引:

import csv

with open('file.csv', 'rb') as f:
    reader = csv.reader(f)
    rows = list(reader)[1:]  # no more header row

【讨论】:

    【解决方案2】:

    使用 pandas,用它处理数据和文件非常容易。使用它轻松编辑您的数据。

    您可以打开您的 csv 文件并将其转换为 pandas 数据框。

    df = pandas.read_csv('file.csv')
    

    之后就可以使用这个功能了。

    df.drop(df.columns[[0]], axis=1)
    

    在本例中,我将删除索引为 0 的行。

    Pandas documentation

    【讨论】:

      猜你喜欢
      • 2011-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-02
      • 2023-03-23
      相关资源
      最近更新 更多