多字符排序



我正在尝试解决多字符的排序问题。下面是数据中的几行。

data = pandas.read_csv('data.csv')
data
001@|@02@|@ABC@|@IND123
002@|@02@|@ABC@|@IND223
003@|@02@|@ABC@|@IND333
004@|@02@|@ABC@|@IND443

我正在尝试使用以下代码:

res = re.split('@|@',data)
print(res)

001@|@02@|@ABC@|@IND123

['001', '|', '02', '|', 'ABC', '|', 'IND123']

请提出建议。

您应该转义管道,因为在正则表达式中,x|y表示xy,因此正则表达式在@@处拆分数据。您还可以指定正则表达式分隔符作为pd.read_csvsep参数,并让panda在读取数据时正确拆分数据。

pd.read_csv('data.csv', header = None, sep='@\|@', engine = 'python')
0   1   2   3
0   1   2   ABC IND123
1   2   2   ABC IND223
2   3   2   ABC IND333
3   4   2   ABC IND443

最新更新