【问题标题】:Want to read String with Name, Values, Null, Time stamp in list using python想要使用 python 在列表中读取带有名称、值、空值、时间戳的字符串
【发布时间】:2018-11-18 21:46:52
【问题描述】:

我有以下字符串

"9718436'~''~'355373'~'1913853'~'21'~''~'BLERS'~'1'~'1'~'2003-12-09 16:52:48'~''~''~''~''~''~''~''~''~''~''~'New_Rating'~''~''~'2008-12-31 00:00:00'~''~''~''#@#@#" 

并希望将其作为列表中的一个元组读取,如下所示

[('9718436','NULL','355373','1913853','21','NULL','BLERS','1','1','2003-12-09 16:52:48','NULL','NULL','NULL','NULL','NULL','NULL','NULL','NULL','NULL','NULL','New Rating','NULL','NULL','2008-12-31 00:00:00','NULL','NULL','NULL')]

我目前正在使用过滤函数“filter(None,re.split(r'\W', abovestring))”,它在列表中抛出垃圾数据。 任何建议将不胜感激。 提前谢谢你

【问题讨论】:

    标签: python data-cleaning


    【解决方案1】:

    这很接近:

    s.split("'~'")  # where s is your original string.
    

    您可以通过以下方式使其更接近:

    [v if v else "NULL" for v in s.split("'~'")]
    

    但最终你必须弄清楚如何以某种合乎逻辑的方式处理尾随的'#@#@#。对我来说,这看起来不像是空值。

    【讨论】:

    • 感谢亚当的回复。这对我有帮助。我将所有分隔符都设为“~”,然后用相同的分隔符分割。
    猜你喜欢
    • 2015-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-05
    • 2018-04-29
    • 1970-01-01
    相关资源
    最近更新 更多