我想知道是否有专门用于自动猜测文件结构的包/功能,例如.csv
文件、空格或制表符分隔等。
我在想的是自动推断character delimiter
(例如制表符,空格,逗号),header
(是/否),quote
(是/否)number of lines to skips
,和comment.char
。
当然,这意味着额外通过文件一次,但如果它可以保证它会正确推断,那就太好了。
有没有尝试过?
我实际上开始研究这个,并创建了包pyread
(pip 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 倍。
我想如果人们想要其他真正有用的功能,请在评论中告诉我,我会看看我能做什么。
试试 csv 模块,顾名思义,它不仅支持 csv 文件。但是你必须设置分隔符