pyarrow.csv.read_csv#

pyarrow.csv.read_csv(input_file, read_options=None, parse_options=None, convert_options=None, MemoryPool memory_pool=None)#

从 CSV 数据流中读取一个 Table。

参数:
input_filestr, 路径或类文件对象

CSV 数据的位置。如果为字符串或路径,并且以识别的压缩文件扩展名(例如“.gz”或“.bz2”)结尾,则读取时数据会自动解压缩。

read_optionspyarrow.csv.ReadOptions, 可选

CSV 读取器的选项(有关默认值,请参阅 pyarrow.csv.ReadOptions 构造函数)

parse_optionspyarrow.csv.ParseOptions, 可选

CSV 解析器的选项(有关默认值,请参阅 pyarrow.csv.ParseOptions 构造函数)

convert_optionspyarrow.csv.ConvertOptions, 可选

转换 CSV 数据的选项(有关默认值,请参阅 pyarrow.csv.ConvertOptions 构造函数)

memory_poolMemoryPool, 可选

用于分配 Table 内存的内存池

返回:
pyarrow.Table

CSV 文件的内容,作为内存中的 Table。

示例

从字节对象定义示例文件

>>> import io
>>> s = (
...     "animals,n_legs,entry\n"
...     "Flamingo,2,2022-03-01\n"
...     "Horse,4,2022-03-02\n"
...     "Brittle stars,5,2022-03-03\n"
...     "Centipede,100,2022-03-04"
... )
>>> print(s)
animals,n_legs,entry
Flamingo,2,2022-03-01
Horse,4,2022-03-02
Brittle stars,5,2022-03-03
Centipede,100,2022-03-04
>>> source = io.BytesIO(s.encode())

从文件中读取

>>> from pyarrow import csv
>>> csv.read_csv(source)
pyarrow.Table
animals: string
n_legs: int64
entry: date32[day]
----
animals: [["Flamingo","Horse","Brittle stars","Centipede"]]
n_legs: [[2,4,5,100]]
entry: [[2022-03-01,2022-03-02,2022-03-03,2022-03-04]]