我有这样的字符串:
8/30/2021 19:22,server1,app1,"user1, Mrs. user2",US,One,Email, Sent,Success
期望输出:
8/30/2021 19:22|server1|app1|user1, Mrs. user2|US|One|Email| Sent|Success
我的代码如下:
....
line = line.replace(',', '|')
print (line)
如何在python中使用RegEx处理双引号?
对不起,我的回答只是一个hack,但提供了预期的结果:
from io import StringIO
import pandas as pd
s = '8/30/2021 19:22,server1,app1,"user1, Mrs. user2",US,One,Email, Sent,Success'
print("|".join(pd.read_csv(StringIO(s)).columns))
输出:
'8/30/2021 19:22|server1|app1|user1, Mrs. user2|US|One|Email| Sent|Success'
我猜你可以通过谷歌找到答案?:(或者查看pandas库的源代码!
-是的,谷歌搜索5分钟就知道答案了!这里是SO: https://stackoverflow.com/a/632552/551694请去投票。
re.sub('(,)(?=(?:[^"]|"[^"]*")*$)','|',s)
交付
'8/30/2021 19:22|server1|app1|"user1, Mrs. user2"|US|One|Email| Sent|Success'