【发布时间】:2014-03-13 15:57:29
【问题描述】:
我正在尝试使用文本文件从 xml 获取数字输出并将其转换为名称,然后将其写入单独的文本文件。我的问题是名称有时包含空格,我不知道如何处理。
该程序在线访问多个 txt 和 xml 文件,其中项目由参考号引用。它将这些文件中的信息与我设置的标准进行比较,然后将参考号添加到列表中。我想要做的是将此参考编号转换为相关名称。我有一个包含参考编号和名称的文本文件,并且想使用 index() 函数查找参考编号,然后将关联的名称写入文本文件。我无法解析它,以便我可以进行转换。我的问题是列表是这样写的:
number name\n
14 apple\n
27 anjou pear\n
36 asian pear\n
7645 langsat\n
所以如果我只使用 .split() 我最终会拆分一些名称。我尝试用 '\n' 替换数字和名称之间的空格并将其拆分,但这也不起作用。如果我用 ' , ' 替换空格并拆分它,我最终会得到包括下一行编号 ['apple\n15'] 的名称,它将文本作为两行写入,并让我遇到无法拆分的相同问题它在空白处...
有什么建议吗???
我现在已经按照下面的建议实现了 Dict() 函数,它可以工作 接受我仍然在名称末尾有 \n...
ttn = dict()
f=open('typeid2.txt', 'r')
for line in f:
number, name = line.split(None,1)
ttn[number] = name
如果我打电话给ttn['14'],我会得到'apple\n'
【问题讨论】:
-
使用 ttn[number].strip() 更好,但将 line.split(None,1) 更改为 line.strip().split(None,1)
标签: python regex parsing text python-3.x