Python 我需要重新格式化文档中的文本
当前文本的格式如下: 编号名称[标识符] 每个标识符之间都有空格,标识符周围有括号,引号就是一个例子 我正试图将它重新格式化为 名称、标识符、变量、编号 在本例中,逗号不需要加引号,而变量则需要在整个文档中设置为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 我需要重新格式化文档中的文本,python,ruby,Python,Ruby,当前文本的格式如下: 编号名称[标识符] 每个标识符之间都有空格,标识符周围有括号,引号就是一个例子 我正试图将它重新格式化为 名称、标识符、变量、编号 在本例中,逗号不需要加引号,而变量则需要在整个文档中设置为1或2 名称和编号将直接从文本文件A中提取,并重新格式化并保存到文件B中。标识符实际上需要进行一些额外的格式化 标识符采用3个字母的格式,即“AKA”。它与我可以在一些代码中定义的特定内容相关,比如“AKA”=“Alsoknownas” 所以总的来说,我相信我正在努力 1.直接从文件a重
谢谢你的意见 如果函数接收原始字符串和变量,然后输出重新格式化的字符串,您能实现您想要的吗 可以使用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脚本编写了代码。谢谢!我感谢你给我的时间。今天晚上我们将进行这项工作。