小编Alj*_*n15的帖子

如何将 .zst 文件提取到 pandas 数据框中

对于 Python 来说,我还是个初学者,但我在学校的一个项目需要我对这个 Reddit 流行度数据集执行分类算法。这些文件是巨大的 .zst 文件,可以在这里找到: https: //files.pushshift.io/reddit/submissions/ 无论如何,我只是不确定如何将其提取到数据库中,因为我们已经完成了作业到目前为止,我只使用了 .csv 数据集,我可以轻松地将其放入 pandas 数据框中。我偶然发现了另一篇文章,并尝试使用代码:

    def transform_zst_file(self,infile):
        zst_num_bytes = 2**22
        lines_read = 0
        dctx = zstd.ZstdDecompressor()
        with dctx.stream_reader(infile) as reader:
            previous_line = ""
            while True:
                chunk = reader.read(zst_num_bytes)
                if not chunk:
                    break
                string_data = chunk.decode('utf-8')
                lines = string_data.split("\n")
                for i, line in enumerate(lines[:-1]):
                    if i == 0:
                        line = previous_line + line
                    self.appendData(line, self.type)
                    lines_read += 1
                    if self.max_lines_to_read and lines_read >= self.max_lines_to_read:
                        return
                previous_line = lines[-1]
Run Code Online (Sandbox Code Playgroud)

但我不完全确定如何将其放入 pandas 数据框中,或者如果文件太大,则仅将一定比例的数据点放入数据框中。任何帮助将不胜感激!

每次我尝试运行以下代码时,它只会使我的计算机崩溃: …

python dataframe pandas zstd

9
推荐指数
1
解决办法
2万
查看次数

标签 统计

dataframe ×1

pandas ×1

python ×1

zstd ×1