Python csv跳过带引号的字段
尝试使用mapreduce和python在AWS上使用大数据进行实践 我有密码Python csv跳过带引号的字段,python,csv,elastic-map-reduce,Python,Csv,Elastic Map Reduce,尝试使用mapreduce和python在AWS上使用大数据进行实践 我有密码 import sys import re import csv import glob import string #class MyDialect(csv.Dialect): #strict = True #skipinitialspace = False #quoting = QUOTE_MINIMAL
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
导入glob
导入字符串
#类MyDialogue(csv.dialogue):
#严格=正确
#skipinitialspace=False
#quoting=QUOTE_最小值
#分隔符=','
#quotechar=“”
对于sys.stdin中的行:
csv.reader(行,方言='excel')
#reader=csv.reader(行,分隔符=',',quoting=csv.QUOTE_ALL,quotechar='”)
#line=line.strip()
#未打包=行。拆分(“,”)
尝试:
#正则表达式
数字、标题、年份、长度、预算、评级、票数、r1、r2、r3、r4、r5、r6、r7、r8、r9、r10、mpaa、动作、动画、喜剧、戏剧、纪录片、浪漫、短线=拆分(“,”)
如果float(rating)csv.reader将打开的文件作为其参数,并将返回一个reader对象,该对象将在给定csvfile中的行上迭代。由于您没有处理csv.reader的返回值,它将打印您看到的行。因此,如果要使用此模块,则需要使用变量存储读取器,然后迭代使用该读取器对象;如果要手动解析文件,则只需删除该行。有关详细信息,请参阅文档:Ok找到了更简单的方法。如果您是管理员,您可以控制数据,而不是使用“,”作为清除器,使用制表符,那么您在任何地方都不会遇到逗号问题。大多数数据库信息没有选项卡,除非有大量文本
了解您的数据,围绕数据协同工作程序
csv.reader(line,dialogue='excel')
应该做什么?我试图从我的行中获取一个字符串,不确定如何将其传递给读取器中的变量。您需要什么样的输入?IMDB数据,格式如下:“6098”,“Blair Witch Project,the”,1999,8635000,6.139814,14.5,4.5,4.5,4.5,14.5,14.5,14.5,14.5,14.5,14.5,“R”,0,0,0,0,0,0,0我尝试过“readline=csv.reader(line)“还有打印readline,但我得到了一个对象,有没有办法将它们传递给变量?csv.reader应该负责处理一组csv行。您不能使用它来处理一行。它返回的对象可以被迭代,每次迭代都会给您一个列表,其中包含原始csv文件一行中的元素。下面是一个如何在标准DIN上使用它的示例: