处理pandas读取tsv文件时切分错误问题

文章目录

使用pandas读写结构化表格文件很常见,但是经常遇到读取文件不完整的问题。

在python中,为了从外部读取结构化的表格数据,最常用的方法就是pandas读取,并存为DataFrame结构。如果是逗号分隔的表格,文件名后缀一般是csv,制表符分隔的文件,结尾一般是tsv.

这两种文件都使用特殊符号进行列的分隔。如果列内部本身包含了分隔符号,则程序解析的时候会发生误判,因此pandas中规定,列本身被引号包裹,则忽略内部的分隔符号。问题在于有些数据中存在不闭合的引号,会引发错误解析。因此需要关闭这条规则。

修改如下:

1
2
pd.read_csv(join(FILE_PREFIX, 'news.tsv'), sep='\t', header=None, quotechar=" ")
pd.read_table(join(FILE_PREFIX, 'news.tsv'), sep='\t', header=None, quotechar=" ")

如果引号本身也具有特殊含义,而列内部又包含特殊分隔符,还可以将quotechar改为其他字符。

本文作者:MyTech::Author

本文链接: https://mytech.pages.dev/2023/07/20/pandas-tsv/