Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用csv.DictReader过滤并仅打印具有特定值字段的行?_Python_Csv - Fatal编程技术网

Python 如何使用csv.DictReader过滤并仅打印具有特定值字段的行?

Python 如何使用csv.DictReader过滤并仅打印具有特定值字段的行?,python,csv,Python,Csv,我正在阅读Python中的CSV文件 with open('file.csv', newline='') as f: reader = csv.DictReader(f) for row in reader: print(row['id'], row['first_name'], row['last_name'], row['state']) 如何添加一些代码以过滤并仅打印特定状态的行?我的意思是,程序将询问用户想要打印的状态,并且只打印包含用户想要的特定状态的

我正在阅读Python中的CSV文件

with open('file.csv', newline='') as f:
    reader = csv.DictReader(f)
    for row in reader:
        print(row['id'], row['first_name'], row['last_name'], row['state'])
如何添加一些代码以过滤并仅打印特定状态的行?我的意思是,程序将询问用户想要打印的状态,并且只打印包含用户想要的特定状态的id、first_name、last_name的行

我不能使用Pandas或Numpy库

if row['state'] == something:
    print(row['id'], row['first_name'], row['last_name'], row['state'])
如果你想让用户选择,就让他根据自己的需要修改变量

如果你想让用户选择,就让他用你要求用户输入所需状态的方法输入将变量某物修改为他想要的。 使用if语句可以控制打印输出

with open('file.csv', newline='') as f:
        reader = csv.DictReader(f)
        user_state = input('Enter the searched state')
        for row in reader:
            if user_state == row['state']:
                 print(row['id'], row['first_name'], row['last_name'], row['state'])
使用方法输入,您要求用户输入所需的状态。 使用if语句可以控制打印输出

with open('file.csv', newline='') as f:
        reader = csv.DictReader(f)
        user_state = input('Enter the searched state')
        for row in reader:
            if user_state == row['state']:
                 print(row['id'], row['first_name'], row['last_name'], row['state'])

这里有一个建议,使用了。请注意,我们首先在此处加载所有记录,然后进行筛选。其他解决方案建议在加载文件时进行筛选

导入csv def按状态筛选行,目标状态: 返回[如果行['state']==目标状态,则行中的行对应行] 将“file.csv”作为f打开: 这会将所有记录加载到内存中,然后关闭CSV文件 行=listcsv.DictReaderf 行=按状态筛选行“确定”
这里有一个建议,使用了。请注意,我们首先在此处加载所有记录,然后进行筛选。其他解决方案建议在加载文件时进行筛选

导入csv def按状态筛选行,目标状态: 返回[如果行['state']==目标状态,则行中的行对应行] 将“file.csv”作为f打开: 这会将所有记录加载到内存中,然后关闭CSV文件 行=listcsv.DictReaderf 行=按状态筛选行“确定”
打印前是否尝试使用if语句?打印前是否尝试使用if语句?