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

Python 我需要重新格式化文档中的文本,python,ruby,Python,Ruby,当前文本的格式如下: 编号名称[标识符] 每个标识符之间都有空格,标识符周围有括号,引号就是一个例子 我正试图将它重新格式化为 名称、标识符、变量、编号 在本例中,逗号不需要加引号,而变量则需要在整个文档中设置为1或2 名称和编号将直接从文本文件A中提取,并重新格式化并保存到文件B中。标识符实际上需要进行一些额外的格式化 标识符采用3个字母的格式,即“AKA”。它与我可以在一些代码中定义的特定内容相关,比如“AKA”=“Alsoknownas” 所以总的来说,我相信我正在努力 1.直接从文件a重

当前文本的格式如下:

编号名称[标识符]

每个标识符之间都有空格,标识符周围有括号,引号就是一个例子

我正试图将它重新格式化为

名称、标识符、变量、编号

在本例中,逗号不需要加引号,而变量则需要在整个文档中设置为1或2

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

标识符采用3个字母的格式,即“AKA”。它与我可以在一些代码中定义的特定内容相关,比如“AKA”=“Alsoknownas”

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

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

如果这一切都是有意义的,我会喜欢任何人的意见,你的方法将是这一点。标识符将始终是3个字母数字字符,并且它们将始终与字母数字字符串相关。因此,AKA always=Alsoknownas,仅供参考。。。等等


谢谢你的意见

如果函数接收原始字符串和变量,然后输出重新格式化的字符串,您能实现您想要的吗

可以使用python中的string.split函数将字符串转换为字符串片段的列表。默认情况下,它会查找空格字符,并将字符串与空格字符分开。例如:

'a b c'.split()
变成

['a', 'b', 'c']
我怀疑拆分函数将是您正在搜索的解决方案的关键

这里有一些代码可以实现您想要的。也许您可以使用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

是的,有道理,你写了什么代码?我对写代码很陌生。我涉猎过java和ruby。这是我和朋友正在进行的一个项目的一部分。他有更多的经验。据我所知,他已经用python、ruby和一些java脚本编写了代码。谢谢!我感谢你给我的时间。今天晚上我们将进行这项工作。