Python:如何将存储在字节流中的CSV文件转换为列表?

2024-09-27 18:08:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从Azure Data Lake Gen2获取一个csv文件,然后对每一行执行一些操作。但是,要求是,不要将文件下载到物理位置。因此,我使用file_client.download_File().readAll()获取字节流中的文件

但是,我无法拆分文件行/列并将它们放入列表中

 x = file_client.download_file()
 bystream = x.readall()

怎么处理这个bystream

不过,我可以通过使用WITH OPEN () AS CSV下载的文件,然后在csv.reader()中使用这个CSV流来实现这一点

有人能帮忙处理这个bytestream吗


Tags: 文件csvclientdata字节download物理azure
1条回答
网友
1楼 · 发布于 2024-09-27 18:08:36

一个最新的更新,我能够通过将下载的流转换为文本I/O来解决这个问题。(不需要将其转换为列表,因为Pandas Dataframe是更好的选择)

以下是有效的代码片段:

 stream = io.StringIO(file_client.download_file().readall().decode("utf-8"))
 dataframe1 = pd.read_csv(stream, sep= "|")

这里,file_客户端连接到存储csv文件的Azure数据湖。 代码将文件作为流下载到内存中,并将其加载到数据帧中。(无需将其写入本地文件位置)

相关问题 更多 >

    热门问题