首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何忽略CSV文件中具有特定值的行?

如何忽略CSV文件中具有特定值的行?
EN

Stack Overflow用户
提问于 2019-02-19 23:58:52
回答 2查看 1.1K关注 0票数 0

我正在尝试读取CSV文件,并使用感兴趣的数据创建一个新文件。有一些行中的特定数据值(在年龄和性别列中)被标记为-1,因此在新的CSV表中不需要。我应该用Pandas库重写它吗?此外,我试图忽略以前的id (因为一些行将被忽略),并将新的行计为新的id。

import csv

data = []

def transform_row(row):
    # id = new count
    age = line[2]
    gender = line[3]
    url = line[4]

    return [
    #new count
    age,
    gender,
    url
    ]

# read csv file line by line
with open('data_sample.csv', 'r') as f:
    reader = csv.reader(f)

    """ bad try at ignoring the line with value -1
    for value in reader:
        if value == '-1':
            pass
        else:
            continue
    """

    # loop through each line in csv and transform
    for line in reader:
            data.append(transform_row(line))

# write a new csv file
with open('data_test.csv', 'w', newline='') as f:
    # define new csv writer
    writer = csv.writer(f, delimiter=',')

    # write a header row to our output.csv file
    writer.writerow([
        #'id', - new line count as id
        'age',
        'gender',
        'url'
    ])

    # write our data to the file
    writer.writerows(data)

此外,欢迎任何其他建议。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54770325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档