Skip to main content
 首页 » 编程设计

python之如何使用python获取字符串中的信息片段

2025年05月04日16lori

我是 python 的新手,现在我需要使用它来处理 txt 文件中的一些数据。

这是一个示例数据,其中在每个 '&' 之后是一个新索引:

uid=aaa&sid=bbb&bid=ccc&cid=ddd&pid=eee&ver=fff... 
uid=aaa2&sid=bbb2&bid=ccc2&cid=ddd2&pid=eee2&ver=fff2... 
... 

最终结果是有一个 DataFrame(带有 pandas),columns=['uid', 'sid', 'bid', 'cid', 'pid', 'ver'...] 和 uid 的内容作为索引。

我的想法是:将字符串中的aaa、bbb、ccc等剥离出来,插入到dataframe中.

我试过:

st1 = gif?uid=aaa&sid=bbb&bid=ccc&cid=ddd&pid=eee&ver=fff......HTTPasfawfaw 
 
(st1 is the original string) 
 
st2 = st1.split("gif?")[1].split("HTTP")[0] 
 
st3 = st2.split('&') 

我的问题是:

  1. 如何只将 = 之后的字符串取出并放入 Dataframe 中?
  2. 我需要处理庞大的数据文件,有没有更好的方法可以用更少的时间和更少的内存来完成这项工作?

预先感谢您的帮助!

请您参考如下方法:

这是一个 URL 查询字符串。你应该使用标准库中的urllib模块来解析它。

from urllib.parse import parse_qs  # python3 
from urlparse import parse_qs # python2 
 
parse_qs('uid=aaa2&sid=bbb2&bid=ccc2&cid=ddd2&pid=eee2&ver=fff2') 

输出:

{'bid': ['ccc2'], 
 'cid': ['ddd2'], 
 'pid': ['eee2'], 
 'sid': ['bbb2'], 
 'uid': ['aaa2'], 
 'ver': ['fff2']}