我是python的新手。我有大约21个JSON文件与POST请求一起发送。不幸的是,我正在尝试发送这些文件(Qualtrics)的服务仅接受最大5MB的文件。话虽如此,我需要每4.5 MB拆分这些JSON文件(请确保)。该python脚本是数据流的一部分,因此,如果失败,则将不执行后续步骤。
所以,我现在所拥有的以及我的脚本要做的是:
我已经尝试寻找解决方案,但是我并不幸运。 我已经能够拆分CSV,但是由于2MB CSV变成了5.5MB JSON,所以我不能完全确定。
你们有什么建议吗?阻止我的另一件事是,由于我正在使用非我的linux服务器工作,因此我没有被授予安装其他库的许可,即使我要求我也没有得到回应... < / p>
非常感谢您。
答案 0 :(得分:0)
假设您的JSON是这样的对象数组:
[
{"key1: "value1", "key2: "value2", ....},
...
{"key1: "value1", "key2: "value2", ....}
]
然后您可以像这样手动构建有效负载:
def send_entries(entries):
payload = '[' + ','.join(entries) + ']'
send_entries(payload)
json_entries = []
total_size = 0
for line in csv:
json_entry = converto_to_json(line)
json_entries.append(json_entry)
total_size += len(json_entry)
if total_size >= 4_500_000:
send_entries(json_entries)
total_size = 0
json_entries = []
if json_entries:
send_entries(json_entries)
有效负载的实际大小可能比4.5Mb大一点,但是只要CSV中的每个条目小于500Kb,您就可以了。