【发布时间】:2018-07-01 10:03:55
【问题描述】:
我有一个 JSON 文件,我想在其中做一些替换。我已经编写了一个代码,它可以工作,但它很不稳定。
这是替换完成的地方。
replacements1 = {builtTelefon:'Isim', builtIlce:'Isim', builtAdres:'Isim', builtIsim:'Isim'}
replacements3 = {builtYesterdayTelefon:'Isim', builtYesterdayIlce:'Isim', builtYesterdayAdres:'Isim', builtYesterdayIsim:'Isim'}
with open('veri3.json', encoding='utf-8') as infile, open('veri2.json', 'w') as outfile:
for line in infile:
for src, target in replacements1.items():
line = line.replace(src, target)
for src, target in replacements3.items():
line = line.replace(src, target)
outfile.write(line)
以下是builtAdres 和builtYesterdayAdres 的一些示例:
01 Temmuz 2018 Pazar.1
30 Haziran 2018 Cumartesi.1
我在我的数据上运行它,但每次都会产生许多不同的输出。请检查下面的屏幕截图,因为我不知道我还能说些什么。
这是相同的代码,我每次都运行相同的东西,但每次都会产生不同的结果。
这是原始 JSON 文件:
它应该做的是针对01 Temmuz 2018 Pazar 测试整个文件,如果发现只是用字符串Isim 替换它而不触及其他任何东西。在第二次运行时检查是否有 30 Haziran 2018 Cumartesi 并将它们替换为字符串 Isim。
这是什么原因造成的?
重新测试的示例文件:
【问题讨论】:
-
我在
replacements1部分之前添加了这两行。replacements1 = collections.OrderedDict()replacements3 = collections.OrderedDict()仍然有些字段有时会消失。 (就像01 Temmuz 2018 Pazar.2部分应该说Isim.2但整个部分又消失了) -
能否请您创建一个更小的测试用例来揭示问题?如果没有您的 JSON 文件,我们将无法重现该问题。
-
@user8035311 我将发布今天的完整代码和json文件,编辑问题。编辑:我已经添加了 json 文件和我正在尝试的 python 代码。
标签: json string python-3.x replace