需要RegEx来替换双引号之外的所有逗号,并在python中替换为| -



我有这样的字符串:

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'

最新更新