使用Pandas读取CSV文件:复杂分隔符

Moh*_*lah 4 python csv pandas

我有一个csv文件,我想用python panda阅读.标题和行看起来如下:

 A           ^B^C^D^E  ^F          ^G           ^H^I^J^K^L^M^N
Run Code Online (Sandbox Code Playgroud)

显然它看到,分隔符是^,有时候有一些奇怪的空格.我怎样才能完美地阅读这个文件?

我使用以下命令来读取csv文件:

df = pd.read_csv('input.csv', sep='^')
Run Code Online (Sandbox Code Playgroud)

EdC*_*ica 8

使用正则表达式\s*\^,这意味着0或更多的空格和^,你必须在这里指定python引擎,以避免有关正则表达式支持的警告:

In [152]:

t="""A           ^B^C^D^E  ^F          ^G           ^H^I^J^K^L^M^N"""
df= pd.read_csv(io.StringIO(t), sep='\s*\^', engine='python')
df.columns
Out[152]:
Index(['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N'], dtype='object')
Run Code Online (Sandbox Code Playgroud)


Mal*_*imi 5

你不能提供正则表达式作为分隔符吗?

sep = re.compile(r'[\^\s]+')
Run Code Online (Sandbox Code Playgroud)