要使用python读取列表中带有名称、值、Null和时间戳的字符串吗
我有下面的字符串要使用python读取列表中带有名称、值、Null和时间戳的字符串吗,python,data-cleaning,Python,Data Cleaning,我有下面的字符串 "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','
"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')]
我目前正在使用筛选器函数FilterOne,re.splitr'\W',位于字符串上方,它正在列表中抛出垃圾数据。
如有任何建议,将不胜感激。
提前谢谢这几乎是:
s.split("'~'") # where s is your original string.
您可以通过以下操作使其更接近:
[v if v else "NULL" for v in s.split("'~'")]
但最终你必须弄清楚如何以某种逻辑的方式处理尾随的“@”。这在我看来不是空的。谢谢亚当的回复。这对我有帮助。我将所有分隔符都设为“~”,然后用相同的分隔符拆分。