【问题标题】:parse text into different columns in pandas将文本解析为熊猫中的不同列
【发布时间】:2017-07-22 22:11:33
【问题描述】:

我有一个包含多个 url 的查询部分的数据框。

例如。

in=2015-09-19&stars_4=yes&min=4&a=3&city=New+York,+NY,+United+States&out=2015-09-20&search=1\n

in=2015-09-14&stars_3=yes&min=4&a=3&city=London,+United+Kingdom&out=2015-09-15&search=1\n

in=2015-09-26&Filter=175&min=5&a=2&city=New+York,+NY,+United+States&out=2015-09-27&search=2\n

我想要的数据框应该是:

    in         Filter   stars  min  a  max  city  country  out          search
--------------------------------------------------------------------------------
    2015-09-19  NAN    stars_4  4   3  NAN   NY     US     2015-09-20      1
    2015-09-14  NAN    stars_3  4   3  NAN  LONDON  UK     2015-09-15      1
    2015-09-26  175     NAN     5   2  NAN   NY     US     2015-09-27      2

使用正则表达式有什么简单的方法吗?

任何帮助将不胜感激!提前致谢!

【问题讨论】:

    标签: python pandas url


    【解决方案1】:

    一个快速而肮脏的解决方法是只使用列表推导:

    json_data = [{c[0]:c[1] for c in [b.split('=') for b in line.split('&')]} \
                for line in open('data_file.txt')]
    
    df = pd.DataFrame.from_records(json_data)
    

    这不会解决您的位置分类问题,但会为您提供更好的数据框来工作。

    【讨论】:

    • 非常感谢!!这使得位置分类变得更加容易!
    猜你喜欢
    • 2020-10-19
    • 1970-01-01
    • 1970-01-01
    • 2018-04-22
    • 2016-06-04
    • 2019-08-01
    • 2019-11-29
    • 2022-08-17
    • 2023-02-03
    相关资源
    最近更新 更多