如何使用 LZ4 编写 python 函数来压缩 CSV 文件

How to write a python function to compress a CSV file using LZ4

这里是新手... 我需要使用 LZ4 读取和压缩 CSV 文件,并且我有 运行 进入预期错误,compress() 函数以字节为单位读取并且 CSV 文件不兼容。有没有办法使用 LZ4 压缩整个文件,或者我需要将 CSV 文件转换为位格式然后压缩它?如果是这样,我将如何处理?

import lz4.frame
import csv

file=open("raw_data_files/raw_1.csv")
type(file)
input_data=csv.reader(file)
compressed=lz4.frame.compress(input_data)

错误显示

Traceback (most recent call last):
  File "compression.py", line 10, in <module>
    compressed=lz4.frame.compress(input_data)
TypeError: a bytes-like object is required, not '_csv.reader'

你可以这样做:-

import lz4.frame

with open('raw_data_files/raw_1.csv', 'rb') as infile:
    with open('raw_data_files/raw_1.lz4', 'wb') as outfile:
        outfile.write(lz4.frame.compress(infile.read()))