我有一个很大的JSON文件(通过Azure数据工厂导出)。如果DataFactory发现问题,它会在对象之间添加$符号。例如,它看起来像这样:
<br>{...}<br>
{...}<br>
{...}${...}<br>
所以我有一个错误,例如json.decoder.JSONDecodeError: Extra data: line 1 column 21994 (char 21993)
我用一种简单的方法处理它—notepad++替换$to\n,它很好;),但是现在我的文件大约是1.3 GB,我没有工具来编辑这么大的文件。你知道吗
我使用python从文件中的所有JSON对象导出数据,并将它们导出到XMLs。你知道吗
现在,我正在寻找一些解决方案,将所有$符号替换为换行符\n
,并清理文件。你知道吗
我的代码开头是:
a = open('test.json', 'r', encoding = 'UTF8')
data1 = a.readlines()
a.close()
for i in range(len(data1)):
print('Done%d/%d'%(i,len(data1)))
jsI = json.loads(data1[i])
如果文件出现$符号,那么它就结束了。你知道吗
关于如何使用Python在文件中用换行符替换$符号,我可以请教一些建议吗?你知道吗
为了能够处理JSON对象中字符串中可能的
$
字符,您可以将输入字符串data1
与$
拆分为片段,将片段逐个连接到一个字符串中,直到它可以解析为JSON为止,此时输出该字符串并清除它以转到下一个片段:例如,给定
data1 = '''{}${"a":"$"}${"b":{"c":2}}'''
,这将输出:问题可能出在
a.readlines()
,因为它会将整个文件带到内存中。在处理大型文件时,逐行阅读会更有趣,如下所示:如果您的目标是用
\n
替换每个$
,则如下所示:相关问题 更多 >
编程相关推荐