当字符串无法解析为整数时,通常会出现无效的文字。但这个错误很奇怪。我在使用pyspark时得到了这个。 代码如下:
%pyspark
from pyspark import SQLContext
from pyspark.sql.types import StructField
from pyspark.sql.types import StructType
from pyspark.sql.types import *
from datetime import datetime
lines = sc.textFile("s3://citibike-nyc/nyc-bike-data/FinalMerge.csv")
def mk_int(s):
s = s.strip()
return int(s) if s else 0
# Each line is converted to a tuple.
header = lines.first()
data = lines.filter(lambda l: l!=header)
data=data.map(lambda l:l.split(","))
trip_data = data.map(lambda p: (mk_int(p[0]),datetime.strptime (p[1],'%Y-%m-%d %H:%M'),datetime.strptime (p[2],'%Y-%m-%d %H:%M'),mk_int(p[3]),p[4].strip(),float(p[5]),float(p[6]),mk_int(p[7]),p[8].strip(), float(p[9]),float(p[10]),int(p[11]),p[12].strip(),mk_int(p[13]),mk_int(p[14])))
trip_data.take(1)
我得到了ValueError:带有基数10的int()的无效文字:'“634”' 这有什么不对?