Home > database >  Converting CSV to jSON - Keep getting "End of File expected" error
Converting CSV to jSON - Keep getting "End of File expected" error

Time:04-06

I'm trying to convert a CSV file into a jSON file in order to then inject it into a Firebase database.

csvfile = open('final_df_2.csv', 'r')
jsonfile = open('final_df_5.json', 'w')

reader = csv.DictReader(csvfile)

for row in reader:
    json.dump({row['ballID']: [{"colour": row['colour'], "radius":row['radius']}]}, jsonfile)
    jsonfile.write('\n')

Unfortunately, I keep getting an "End of File expected" error

Here's my JSON's output

{
    "001": [
        {
            "colour": "green",
            "radius": "199405.0"
        }
    ]
}
{
    "002": [
        {
            "colour": "blue",
            "radius": "199612.0"
        }
    ]
}

In addition, Firebase sends back an error when I try to import the JSON file saying "Invalid JSON files"

CodePudding user response:

You could collect all the data into a python list and dump that list to the json file:

csvfile = open('final_df_2.csv', 'r')

reader = csv.DictReader(csvfile)
jsoncontent = []
for row in reader:
    jsoncontent.append({row['ballID']: [{"colour": row['colour'], "radius":row['radius']}]})

with open('final_df_5.json', 'w') as jsonfile:
    json.dump(jsoncontent, jsonfile)

However, I'm not sure what your firebase database is expecting.

  • Related