我是 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('&')
我的问题是:
- 如何只将
=之后的字符串取出并放入 Dataframe 中? - 我需要处理庞大的数据文件,有没有更好的方法可以用更少的时间和更少的内存来完成这项工作?
预先感谢您的帮助!
请您参考如下方法:
这是一个 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']}
