我正在将JSON文件(从ajax调用)转换为CSV。
当JSON文件发送给我时,它是80kb。
当我将JSON文件的内容保存到.txt文件中时,它变为291kb!
将.txt文件转换为.csv文件后,它是240kb。
我从ajax调用收到的JSON文件如何使用相同内容创建的.txt文件小得多?有没有办法减少最终产品的尺寸?
编辑:
这就是我获取文件大小的方法。
编辑:
我认为.txt到.csv转换问题不是问题,但这是我的代码:
import json
import csv
import re
with open('jjj.txt') as f:
f = f.read()
parsed = json.loads(f)
unix_time = re.compile(r'(\d\d\d\d\d\d\d\d\d\d\d\d\d)')
data = parsed['d']['tables'][0]['rows']
for i in data:
for a in range(len(i)):
if a > 39 and a < 46:
if i[a] != None:
mo = unix_time.search(i[a])
i[a] = mo.group(1)
file = open('json.csv', 'w', newline='')
csvwriter = csv.writer(file)
csvwriter.writerows(data)
答案 0 :(得分:4)
JSON是一种主要用于通信的字符串格式。如果我们想将JSON字符串保存在文件中,它将是一个文本文件。在这种情况下,JSON或文本文件的任何其他内容之间没有区别。
您正在从Ajax调用接收JSON字符串,而不是JSON文件。您通过HTTP接收它,并且它被压缩(g-zipped)。因此,您要将压缩文本的大小与您正在创建的平面大小进行比较。压缩您正在创建的文件,您将其缩小到几乎相同的大小(取决于压缩工具和设置)。