

You can either paste the JSON data into form below or you can upload a file with the JSON data. Update ! () There’s now basic error handling for invalid JSON or JSON with nested elements. Update ! () CSVs now have headers! The key name for the field is now the first row of the CSV. Simply execute the code below in a Mac/*nix terminal: php json2csv.php -file=/path/to/source/file.json -dest=/path/to/destination/file.csv Update ! () I’ve modified the script to work from the command line as well.

It’s up on GitHub and you’re welcome to do whatever you’d like to do with it: /danmandle/JSON2CSV CSVs can also be opened in Excel which you can then save as a xls or xlsx file. Takes JSON data either through POST data or file upload. So I started working on a solution: JSON2CSV.


If your file is too big or your data is a bit more complex, you can try our online JSON to CSV converter, which can handle huge files and more use cases.After trying to search around for a quick, free, and easy way to convert JSON data into a CSV I came up empty handed. Here’s the final code to convert JSON to CSV: import jsonĭf.to_csv('output.csv', index=False, encoding='utf-8') If you want to configure the output, check out the documentation page for the to_csv function here Pandas has a convenient function for this: df.to_csv('input.csv', index=False, encoding='utf-8')Īnd here is the resulting CSV file: id,name,address.city Now that our data is normalized to a tabular format, let’s write our CSV file! In our case, if we print the resulting dataframe, it will look something like this: print(df) id name address.cityĪs you can see the address which was an object, was flattened out to a column. With open('input.json', encoding='utf-8') as file:īecause the JSON format can hold structured data like nested objects and arrays, we have to normalize this data so that it can be respresented in the CSV format.Ī quick way to do this is to use the pandas.normalize_json function, which will take JSON data and normalize it into a tabular format, you can read more about this function here. Let’s load the JSON file using the json Python module: import json You can install pandas using pip running this command: $ pip install pandas You could technically use the standard json and csv modules from Python to read the JSON file and write a CSV file, but depending on how your JSON file is structured, it can get complicated, and pandas has some great functions to handle these cases, without mentioning it’s really fast, so that’s what we will use. Let’s say we have a JSON file that looks like this: [ In this tutorial we’ll be converting a JSON file to CSV using Python.
