筛选包含整数列表的python输出

筛选包含整数列表的python输出,python,csv,pycharm,Python,Csv,Pycharm,我已经将一个csv文件导入PyCharm,并尝试打印行中的特定列表,目前为止成功。我将输出作为整数列表。我试图过滤列表并只打印大于特定数字(本例中为500)的整数,但不知道如何以及在何处使用“if”条件 这是我的密码: import csv f = open('C:\Python36-32\movies.csv', encoding='utf') csv_f = csv.reader(f) next(csv_f, None) for row in csv_f: content =

我已经将一个csv文件导入PyCharm,并尝试打印行中的特定列表,目前为止成功。我将输出作为整数列表。我试图过滤列表并只打印大于特定数字(本例中为500)的整数,但不知道如何以及在何处使用“if”条件

这是我的密码:

import csv

f = open('C:\Python36-32\movies.csv', encoding='utf')

csv_f = csv.reader(f)
next(csv_f, None)

for row in csv_f:
    content = row[3]

print(content)

f.close()
以下是输出:

489
472
615
784
251
365
956
902
397
668
...
产出继续

谢谢你的帮助

试试这个

import csv

f = open('C:\Python36-32\movies.csv', encoding='utf')

csv_f = csv.reader(f)
next(csv_f, None)

for row in csv_f:
    content = row[3]
    if content>500:
        print(content)

f.close()
import csv

with open(filename, 'r') as f:
    reader = csv.reader(f, delimiter=',')
    next(reader, None)      # skip the headers

    for row in reader:
        if int(row[3]) > 500:
            print(row)

您应该将if语句放入for循环中,并将print语句移动到循环中

修正回路:

for row in csv_f:
    content = row[3]
    if content > 500:
        print(content)
顺便说一句,我还建议对文件操作使用“with”上下文管理器,而不是手动关闭它们。i、 e

with open('C:\Python36-32\movies.csv', encoding='utf', 'r') as f:
    csv_f = csv.reader(f)
    next(csv_f, None)

打印[x>500时内容中的x代表x]
此代码不起作用,打印未对齐,应仅打印最后一行。您的缩进可能已关闭。无论如何,您可以在print语句
newList=filter(lambda x:x>500,content)
之前添加一个if语句,我想您需要将
row[3]
转换为
int
谢谢@sparkandshine。成功了!我只是对代码做了一些修改,以忽略标题。干杯