2023-09-20 18:02:58 +00:00
|
|
|
import ijson
|
2023-04-16 22:04:16 +00:00
|
|
|
|
|
|
|
# specify input and output file paths
|
|
|
|
input_file = 'ccs_synthetic_filtered_large.json'
|
|
|
|
output_file = 'ccs_synthetic_filtered_large.tsv'
|
|
|
|
|
2023-09-20 18:02:58 +00:00
|
|
|
# set header to None
|
|
|
|
headers = None
|
2023-04-16 22:04:16 +00:00
|
|
|
|
2023-09-20 18:02:58 +00:00
|
|
|
# load JSON data from input file and open the output file at same time
|
|
|
|
with open(input_file, 'r') as in_file, open(output_file, 'w') as out_file:
|
|
|
|
objects = ijson.items(in_file, 'item')
|
|
|
|
|
|
|
|
for obj in objects:
|
|
|
|
# extract header and data from JSON
|
|
|
|
if headers is None:
|
|
|
|
headers = list(obj.keys())
|
|
|
|
out_file.write('\t'.join(headers) + '\n')
|
|
|
|
|
|
|
|
# write data to TSV file line by line
|
|
|
|
row = '\t'.join(str(obj[key]) for key in headers)
|
|
|
|
out_file.write(row + '\n')
|