gpt4 book ai didi

Python以动态文本格式提取文本数据

转载 作者:太空宇宙 更新时间:2023-11-04 01:33:46 24 4
gpt4 key购买 nike

我有非常大的文本文件,格式如下:

items=item1|item2|item3|item4&ids=18|117|34|315&locations=5|26|9|12#Characteristic_1#Describe Characteristic_1#http://example.com
items=item1|item2|item3|item4&ids=18|117|34|315&locations=5|26|9|12#Characteristic_2#Describe Characteristic_2#http://example.com
items=item1|item2|item3|item4&ids=18|117|34|315&locations=5|26|9|12#Characteristic_3#Describe Characteristic_3#http://example.com

item、ids和location的个数不固定,上面有4个值,但也有1、2、3或5、6个值,如下例:

items=item1&ids=18&locations=5#Characteristic_1#Describe Characteristic_1#http://example.com
items=item1|item2&ids=18|117&locations=5|26#Characteristic_1#Describe Characteristic_1#http://example.com
items=item1|item2|item3&ids=18|117|34&locations=5|26|9#Characteristic_3#Describe Characteristic_1#http://example.com

我想从这个数据中得到的是项目名称和它的 id,还有它的位置。像下面的格式:

item1,18,5
item2,117,26
item3,34,9
item4,315,12

我曾尝试使用 split("|") 函数从字符串中获取值,但我不知道:

  1. 如何处理字符串中存在的动态项数
  2. 如何相应地将值相互匹配。

我们将不胜感激。

谢谢。

最佳答案

>>> s = "items=item1|item2|item3&ids=18|117|34&locations=5|26|9#Characteristic_3#Describe Characteristic_1#http://example.com"

获取一个参数的值:

用'&'分割得到第一个参数。

>>> s.split('&')[0]
'items=item1|item2|item3'

用“=”拆分并获取值并删除键(即“项目”)

>>> s.split('&')[0].split('=')[1]
'item1|item2|item3'

用'|'拆分值

>>> s.split('&')[0].split('=')[1].split('|')
['item1', 'item2', 'item3']

同样,您可以获得其他参数的值:

>>> s.split('&')[1].split('=')[1].split('|') # Notice the [1] in the first split
['18', '117', '34']

然后您只需按照自己喜欢的方式组合这些多个列表即可。

关于Python以动态文本格式提取文本数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11767401/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com