为何pandas.read_csv不能读取中文内容而使用f=open()之后就可以了

pandas.read_csv - pandas 0.21.0 documentation

filepath_or_buffer : str, pathlib.Path, py._path.local.LocalPath or any object with a read() method (such as a file handle or StringIO)
The string could be a URL. Valid URL schemes include http, ftp, s3, andfile. For file URLs, a host is expected. For instance, a local file couldbe file ://localhost/path/to/table.csv
看帮助。

从帮助上看,它实际上支持两种对象,一是字符串,二是任何支持read()方法的对象(我不知道pathlib.Path/py.path.local.LocalPath是不是也归入此类。注意它们是一个对象,和字符串格式的路径并不一样)。

如果是字符串,则字符串必须是一个URL。
【为何pandas.read_csv不能读取中文内容而使用f=open()之后就可以了】 一个有效的URL是有严格定义的。其中,对file URL,它要求必须带host字段,即 file://host/..格式。

显然,你直接传个绝对路径过去是不行的。它的要求和open并不一样。


    推荐阅读