忽略Pandas read csv中行末尾的分隔符



我在CSV文件中有数据。我使用一个制表符将数据分隔成列。大多数行只包含一个制表符,如下所示:

AtB

有些行在行的末尾包含额外的选项卡,如下所示:

AtBtt

因此,如果我执行pd.read_csv(filePath, sep='t'),那么我会得到一个错误:ParserError: Error tokenizing data. c error: Expected 2 fields in line XXX, saw 4。这是因为有些行包含4个选项卡。

那么,如果一行末尾包含额外的选项卡,我怎么能忽略它呢?

使用io.StringIO在之前清理文件

import pandas as pd
import io
with open('data.txt') as table:
buffer = io.StringIO('n'.join(line.strip() for line in table))
df = pd.read_table(buffer, header=None)

输出:

>>> df
0  1
0  A  B
1  A  B

最新更新