【发布时间】:2017-04-17 20:26:55
【问题描述】:
在一个文本文件中,我有数千个 2000 出现。我想用 1990 年到 2020 年的随机数替换所有出现的事件。如何在 regex 或 python、notepad++、R 中执行此操作?谢谢。
出现的都是这样的:
"myDate" : "2000_02",
更新:
这里是Kropalis建议的解决方案:
import fileinput
from random import randint
textToReplace = randint(1990, 2020)
textToSearch = 2000
fileToSearch = "C:\data.json"
with fileinput.FileInput(fileToSearch, inplace=True, backup='.bak') as file:
for line in file:
print(line.replace(textToSearch, textToReplace), end='')
但我得到一个语法错误:
print(line.replace(textToSearch, textToReplace), end='')
【问题讨论】:
-
逐行读取文件,将
2000替换为正则表达式,或使用随机模块的其他方法,然后逐行写入另一个文件。 -
你的意思是你想用一个随机数替换所有出现的地方吗?或者你想用随机数替换每个出现的地方?
-
您的文件格式是什么?
2000是用空格还是字符串的子串隔开? -
@hwnd 它在问题中放了一个例子,更新了它。它最初在 json 文件中。