使用 python 字符串的模式匹配更改数据

Alter data with pattern matching for python strings

我正在做我的学士论文,我需要使用 python / jupyter 可视化数据。现在我面临的问题是我得到的 .txt 文件在 python 中 nearly 可执行但不完全。

我现在正在做的只是将整个文件作为一个字符串读取,然后我操作它可以使用 exec() 执行。

是的,我现在知道了,这很重要,但由于我在虚拟机上工作,而且我现在知道这些数据不是恶意的,所以我决定这样做。

剩下的问题是我得到这样的列表:

sample = [[0 0 0 0 0]
          [0 0 0 0 0]
          [0 0 0 0 0]
          [0 0 1 0 0]]

我需要添加一个逗号才能得到如下列表:

sample = [[0, 0, 0, 0, 0],
          [0, 0, 0, 0, 0],
          [0, 0, 0, 0, 0],
          [0, 0, 1, 0, 0]]

我发现 re.sub() 这似乎很有用,但我想知道如何。 'lists' 现在存储为字符串。

如有任何建议,我将不胜感激:)

关于正确使用函数的提示或使用此函数可能会非常有帮助。

假设文件内容在一个名为 file_contents 的字符串中,您可以使用

file_contents = re.sub(r'](?!=])', '],', file_contents)

在每个 ] 之后添加一个逗号,而不是紧跟另一个 ]。 同样,

file_contents = re.sub(r'(?<=\d) (?=\d)', ', ', file_contents)

将在数字包围的空格中添加逗号。