如何将pyarrow csv文件转换为python字符串列表?

如何将pyarrow csv文件转换为python字符串列表?,python,csv,hadoop,pyarrow,Python,Csv,Hadoop,Pyarrow,我使用pyarrow 2.0.0在CentOS 8上与Hadoop 3.3交互。Hadoop和pyarrow模块安装成功。所以我将一些本地csv文件复制到Hadoop文件系统中。我尝试从Hadoop文件系统读取csv文件,并将csv行转换为字符串列表。下面是我的第一次尝试代码 from pyarrow import fs hdfs = fs.HadoopFileSystem('localhost', port=9000) def readHdFile(filename): w

我使用pyarrow 2.0.0在CentOS 8上与Hadoop 3.3交互。Hadoop和pyarrow模块安装成功。所以我将一些本地csv文件复制到Hadoop文件系统中。我尝试从Hadoop文件系统读取csv文件,并将csv行转换为字符串列表。下面是我的第一次尝试代码

from pyarrow import fs

hdfs = fs.HadoopFileSystem('localhost', port=9000)
    
def readHdFile(filename):
    with hdfs.open_input_file(filename) as inf:
    read_data = inf.read().decode('utf-8')
    return read_data
    
data = readHdFile('test.csv')
print(data)
以上代码工作正常。它成功地打印了数据。比如说,

date,values,
2007-01-01,6.3
2008-01-01,6.7
2009-01-01,7.7
但是这些行的类型不是字符串列表,而是字符串本身的大尺寸。因此,由于返回的字符串太大,下一步被阻止。然后我将pyarrow方法更改为csv,如下所示

from pyarrow import csv
from pyarrow import fs

def readHdFile(filename):
    with hdfs.open_input_file(filename) as inf:
        read_data = csv.read_csv(inf)
        return read_data

data = readHdFile('test.csv')
print(data)
但是pyarrow表类型的返回值不是我所期望的

pyarrow.Table
date: timestamp[s]
values: double

如何使用pyarrow将Hadoop文件系统中存储的csv文件转换为字符串类型列表?任何回复都将感激不尽。

您是否可以添加一些示例,说明您希望获得什么样的输出?现在,您正在将CSV文件解析为pyarrow.Table。您可以从该表中以各种格式获取信息。例如,要将
values
列作为python数字列表,您可以执行
data.column('values')。to_pylist()
我的目标数据类型只是按每行分割的字符串列表。我用“read_data.splitlines()”方法解决了我的问题。无论如何谢谢你的回复。