У меня возникла проблема при преобразовании файла .csv в многострочный файл json с помощью pyspark.
У меня есть файл csv, прочитанный через spark rdd, и мне нужно преобразовать его в многострочный json с помощью pyspark.
Вот мой код:
import json
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("jsonconversion").getOrCreate()
df = spark.read.format("csv").option("header","True").load(csv_file)
df.show()
df_json = df.toJSON()
for row in df_json.collect():
line = json.loads(row)
result =[]
for key,value in list(line.items()):
if key == 'FieldName':
FieldName =line['FieldName']
del line['FieldName']
result.append({FieldName:line})
res =result
with open("D:/tasklist/jsaonoutput.json",'a+')as f:
f.write(json.dumps(res, indent=4, separators=(',',':')))
Мне нужен вывод в следующем формате.
{
"Name":{
"DataType":"String",
"Length":4,
"Required":"Y",
"Output":"Y",
"Address": "N",
"Phone Number":"N",
"DoorNumber":"N/A"
"Street":"N",
"Locality":"N/A",
"State":"N/A"
}
}
Мой входной CSV-файл выглядит так:
Я новичок в Pyspark. Будем весьма благодарны за любые пожелания изменить этот код в рабочий код.
Заранее спасибо.