【发布时间】:2014-04-04 06:26:15
【问题描述】:
我有一个巨大的 CSV 文件,我想只显示列“名称”和“运行时” 我的问题是我必须对文件进行排序并从 行运行时并打印它们 但“运行时”行包含如下文本:
['http://dbpedia.org/ontology/runtime',
'XMLSchema#double',
'http://www.w3.org/2001/XMLSchema#double',
'4140.0',
'5040.0',
'5700.0',
'{5940.0|6600.0}',
'NULL',
'6480.0',....n]
如何对仅显示数字的列表进行排序
到目前为止我的代码:
import csv
run = []
fp = urllib.urlopen('Film.csv')
reader = csv.DictReader(fp,delimiter=',')
for line in reader:
if line:
run.append(line)
name = []
for row in run:
name.append(row['name'])
runtime = []
for row in run:
runtime.append(row['runtime'])
runtime
预期输出:
csv 文件包含空值和类似 {5940.0|6600.0} 的值
预期输出
'4140.0',
'5040.0',
'5700.0',
'6600.0',
'6800.0',....n]
不包含 NULL 值,只包含查找中的最大值 像这样 {5940.0|6600.0}
【问题讨论】:
-
请识别您的代码。
-
换句话说,您希望过滤数据只包含数字?请编辑程序的预期输出。
-
我是新来的,对不起代码!
-
但我想过滤它,所以它只包含数字。
-
@msvalkon 我认为总的来说,是的。 [i for i in runtime if type(i) in (type(1),type(1.0)) 应该怎么做?但这似乎有点不合时宜。