熊猫使用特殊正则表达式读取文本文件

时间:2018-10-24 15:09:39

标签: python regex pandas dataframe

我需要从这样构建的文件中获取广告数据框:

MANDT#|#BWKEY#|#BUKRS#|#BWMOD#|#XBKNG#|#MLBWA#|#MLBWV#|#XVKBW
150#|#2000#|#1001#|##|##|##|##|#
150#|#2001#|#1001#|##|##|##|##|#
150#|#2002#|#1001#|##|##|##|##|#
150#|#4000#|#1000#|##|##|##|##|#
150#|#4001#|#1000#|##|##|##|##|#
150#|#4002#|#1000#|##|##|##|##|#
150#|#4003#|#1000#|##|##|##|##|#
150#|#4005#|#1000#|##|##|##|##|#

在read_csv中用于分隔(#|#)的正确python正则表达式是什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

使用\|

转义具有特殊含义的竖线
df = pd.read_clipboard(sep=r'#\|#')
print(df)

   MANDT  BWKEY  BUKRS  BWMOD  XBKNG  MLBWA  MLBWV  XVKBW
0    150   2000   1001    NaN    NaN    NaN    NaN    NaN
1    150   2001   1001    NaN    NaN    NaN    NaN    NaN
2    150   2002   1001    NaN    NaN    NaN    NaN    NaN
3    150   4000   1000    NaN    NaN    NaN    NaN    NaN
4    150   4001   1000    NaN    NaN    NaN    NaN    NaN
5    150   4002   1000    NaN    NaN    NaN    NaN    NaN
6    150   4003   1000    NaN    NaN    NaN    NaN    NaN
7    150   4005   1000    NaN    NaN    NaN    NaN    NaN