我需要在文档中重新格式化文本

2024-10-04 05:31:52 发布

您现在位置:Python中文网/ 问答频道 /正文

当前文本的格式如下:

“编号名称[标识符]”

每个标识符之间都有空格,括号围绕着标识符,引号就是一个例子。你知道吗

我想把它改成

名称、标识符、变量、数字

在本例中,逗号确实需要在适当的位置(没有引号),而变量是我只需要在整个文档中设置为“1”或“2”即可。你知道吗

名称和编号将直接从文本文件A中提取,然后重新格式化并保存到文件B中。标识符实际上有一些需要进行的额外格式化。你知道吗

标识符采用3个字母的格式(即“AKA”)。它与我可以在某些代码中定义的特定内容相关(即“AKA”=“Alsoknownas”)。你知道吗

总的来说,我相信我正在努力

1.直接从文件a重新格式化名称和数量,并保存在新文件(b)中 2.在脚本/代码对“a”执行之前,手动定义一个变量,然后保存到新文档“b”。 3.识别文档A中每行的3位标识符代码,将其更改为文档b中的新代码。因此,我需要某种数据库来提取脚本(即,读取文档“A”中行的AKA并在数据库中查找,然后将AKA交换为Alsoknownas并在保存前将其输入文档b)。你知道吗

如果这一切是有意义的,我会喜欢任何人的意见,你的方法将是这个。标识符总是3个字母数字字符,它们总是与字母数字字符串相关。所以AKA always=Alsoknownas,仅供参考。。。等。。你知道吗

谢谢你的意见!你知道吗


Tags: 文件代码文档脚本名称数据库定义格式
1条回答
网友
1楼 · 发布于 2024-10-04 05:31:52

你能用一个函数来实现你想要的吗?这个函数接收原始字符串和变量,然后输出“重新格式化”的字符串?你知道吗

可以使用python中的string.split()函数将字符串转换为字符串片段的列表。默认情况下,它查找空格字符并将字符串从这些字符中分离出来。例如:

'a b c'.split()

变成

['a', 'b', 'c']

我怀疑split()函数将是您正在搜索的解决方案的关键。你知道吗

这里有一些代码可以实现你想要的。也许你可以用dictionary对象把标识符转换成它们的长描述?这有多实际取决于您有多少标识符,它们可能更改的频率等等

#dictionary of identifiers and their long descriptions
idLkUp = {'AKA': 'Alsoknownas',
          'FYI': 'Foryourinformation',
          }

inputStr = '5 Robert [FYI]'
variable = '1'

def reformatInputStr(inputStr, variable):
    # Expected input pattern: 'Number Name [Identifier]'
    #Returned output pattern: 'Name, Identifier, Variable, Number'
    splitStr = inputStr.split()
    splitStr[2] = splitStr[2].replace(']','').replace('[','')     #removes brackets from the Identifier
    strElements = {'Name': splitStr[1],
                   'Identifier': idLkUp[splitStr[2]],             #uses the idLkUp dictionary to get the long description of identifier
                   'Variable': variable,
                   'Number': splitStr[0],
                   }

    return '{Name}, {Identifier}, {Variable}, {Number}'.format(**strElements)

outputStr = reformatInputStr(inputStr, variable)
print(outputStr)

输出:

Robert, Foryourinformation, 1, 5

相关问题 更多 >