1

我想知道是否有专门用于自动猜测文件结构的包/功能,例如.csv文件、空格或制表符分隔等。

我在想的是自动推断character delimiter(例如制表符,空格,逗号),header(是/否),quote(是/否)number of lines to skips,和comment.char

当然,这意味着额外通过文件一次,但如果它可以保证它会正确推断,那就太好了。

有没有尝试过?

4

2 回答 2

1

我实际上开始研究这个,并创建了包pyreadpip install pyread,取决于pandas)。

可以这样使用:

from pyread import read_auto
read_auto(PATHFILE)

基本功能现在包括原始问题中提到的所有内容。

两种使用方式:

1)只需加载数据:read_auto(PATHFILE)

2)仅当速度很重要时:推断文件结构并将其打印为字典,以便下次可以立即加载,例如:

from pandas.io.parsers import read_csv
# this will be printed as dict to screen
read_auto(PATHFILE, inferOnly=True) 
{'filepath_or_buffer': PATHFILE, 'skiprows':1, 'sep':',', 'quotechar':'"'}

# Copy and paste the dictionary info into the file, e.g. store it in "info"
info = {'filepath_or_buffer': PATHFILE, 'skiprows':1, 'sep':',', 'quotechar':'"'}
read_csv(**info)

这样,它只需要被推断一次,因此大约快 2 倍。

我想如果人们想要其他真正有用的功能,请在评论中告诉我,我会看看我能做什么。

于 2014-03-10T09:33:39.960 回答
0

试试 csv 模块,顾名思义,它不仅支持 csv 文件。但是你必须设置分隔符

http://docs.python.org/2/library/csv.html

于 2014-03-05T11:10:54.640 回答