正则表达式作为在python中读取表的分隔符(Pandas)

时间:2018-03-14 10:45:12

标签: python pandas

我想请一些帮助来阅读使用“|”的文本文件(Python 2.7,pandas库)作为分隔符,但您也可以在记录中找到相同的字符,后跟空格。前两行没有问题,但第三行在第6个字段 TAT Fans |之间有分隔符。南

1. 4_230_0415_99312||||9500|Gedung|||||||||15000|6.11403|102.23061
2. 4_230_0415_99313||||9500|Pakatan|||||||||50450|3.15908|101.71431
3. 4_230_0117_12377||||9990|TAT Fans | Southern||||||||||3.141033333|101.727125

我一直在尝试在分隔符中使用正则表达式,但我无法使它工作:

pd.read_table("text_file.txt", sep = "\S+\|\S+")

任何人都可以帮我找到解决问题的方法吗? 非常感谢提前!

1 个答案:

答案 0 :(得分:0)

您可以使用"\s?[|]+\s?"

import pandas as pd

pd.read_table("text_file.txt", sep="\s?[|]+\s?") #or "\s?\|+\s?"

Out[18]:

   4_230_0415_99312  9500    Gedung     15000   6.11403   102.23061
0  4_230_0415_99313  9500   Pakatan     50450  3.159080  101.714310
1  4_230_0117_12377  9990  TAT Fans  Southern  3.141033  101.727125