【发布时间】:2015-07-06 05:51:50
【问题描述】:
尝试使用 mapreduce 和 python 在 AWS 上使用大数据进行练习。
我有密码
import sys
import re
import csv
import glob
import string
#class MyDialect(csv.Dialect):
#strict = True
#skipinitialspace = False
#quoting = QUOTE_MINIMAL
#delimiter = ','
#quotechar = '"'
for line in sys.stdin:
csv.reader(line, dialect='excel')
#reader = csv.reader(line, delimiter=',', quoting=csv.QUOTE_ALL, quotechar='"')
#line = line.strip()
#unpacked = line.split(",")
try:
#regular expresion
num,title,year,length,budget,rating,votes,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,mpaa,Action,Animation,Comedy,Drama,Documentary,Romance,Short = line.split(",")
if float(rating) <= 1:
results = [votes, rating, title, year]
print("\t".join(results))
except ValueError:
pass
现在我知道这并不完美,它输出行值,但是每当我尝试使用行上的 csv 时,我都会得到 .
<_csv.reader>
我所有的台词。
我需要将输入作为一行,并将其输出到标准输出,因为这是一个处理数据并将其传递给减速器的节点。我已经解决了大部分错误,但是它不接受带有逗号的标题。所以“布莱尔女巫,”将被跳过并且不会显示在列表中,因为我相信预算变成了评级,评级变成了选票。
你知道怎么做吗?
【问题讨论】:
-
csv.reader(line, dialect='excel')应该做什么? -
我试图从我的行中取回一个字符串,但不确定如何将它传递给阅读器的变量。
-
你接受什么样的输入?
-
IMDB 数据,格式如上:"6098","Blair Witch Project, The",1999,86,35000,6.1,39814,14.5,4.5,4.5,4.5,4.5,14.5,14.5 ,14.5,14.5,14.5,"R",0,0,0,0,0,0,0
标签: python csv elastic-map-reduce