我在CSV文件中有一个JSON字段,它有好值和坏值。
错误的值看起来像(注意:缺少结尾大括号):
"{'Id': '1', 'fruit': ['banana', 'grape', 'orange'], 'business': ""Publix""
字符串
vs
好的值看起来像:
{'Id': '3', 'fruit': ['peach', 'orange'], 'business': 'Aldi}
型
我需要使用PySpark来识别这个JSON字段中缺少花括号的所有行。
如何读取这个有问题的JSON字段并使用ea的最后一个值创建一个新字段。例如,使用示例1:
Last Value
""Publix""
型
我尝试过的:
df.withColumn("col1", F.to_json(F.col("col1")))\
.show(truncate=False)
型
这给了我一个错误:cannot resolve 'to_json(
列1 )' due to data type mismatch: Input type string must be a struct, array of structs or a map or array of map.;;
1条答案
按热度按时间fjnneemd1#
解决了我自己的问题。
给定错误的JSON文件,您希望在导入时将其格式化为CSV,然后执行以下操作:
字符串
希望这对外面的人有帮助!:)
编辑:option(“escape”,'“')是个技巧。