筛选包含整数列表的python输出
我已经将一个csv文件导入PyCharm,并尝试打印行中的特定列表,目前为止成功。我将输出作为整数列表。我试图过滤列表并只打印大于特定数字(本例中为500)的整数,但不知道如何以及在何处使用“if”条件 这是我的密码:筛选包含整数列表的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 =
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。成功了!我只是对代码做了一些修改,以忽略标题。干杯