如何使用 python 脚本快速压缩文件
How to snappy compress a file using a python script
我正在尝试使用 python 脚本和 python-snappy 模块以 snappy 格式压缩 csv 文件。到目前为止,这是我的代码:
import snappy
d = snappy.compress("C:\Users\my_user\Desktop\Test\Test_file.csv")
with open("compressed_file.snappy", 'w') as snappy_data:
snappy_data.write(d)
snappy_data.close()
这段代码实际上创建了一个 snappy 文件,但是创建的 snappy 文件只包含一个字符串:"C:\Users\my_user\Desktop\Test\Test_file.csv"
所以我对压缩 csv 有点迷茫。我使用以下命令在 windows cmd 上完成了它:
python -m snappy -c Test_file.csv compressed_file.snappy
但我需要它作为 python 脚本的一部分来完成,所以使用 cmd 对我来说不太好。
非常感谢,
阿尔瓦罗
您正在压缩纯字符串,因为压缩函数采用原始数据。
有两种方法可以压缩 snappy 数据 - 作为一个块,另一种作为流(或帧)数据
此函数将使用分帧方法压缩文件
import snappy
def snappy_compress(path):
path_to_store = path+'.snappy'
with open(path, 'rb') as in_file:
with open(path_to_store, 'w') as out_file:
snappy.stream_compress(in_file, out_file)
out_file.close()
in_file.close()
return path_to_store
snappy_compress('testfile.csv')
您可以使用命令行解压缩:
python -m snappy -d testfile.csv.snappy testfile_decompressed.csv
需要注意的是python/snappy目前使用的框架与Hadoop
使用的框架不兼容
我正在尝试使用 python 脚本和 python-snappy 模块以 snappy 格式压缩 csv 文件。到目前为止,这是我的代码:
import snappy
d = snappy.compress("C:\Users\my_user\Desktop\Test\Test_file.csv")
with open("compressed_file.snappy", 'w') as snappy_data:
snappy_data.write(d)
snappy_data.close()
这段代码实际上创建了一个 snappy 文件,但是创建的 snappy 文件只包含一个字符串:"C:\Users\my_user\Desktop\Test\Test_file.csv"
所以我对压缩 csv 有点迷茫。我使用以下命令在 windows cmd 上完成了它:
python -m snappy -c Test_file.csv compressed_file.snappy
但我需要它作为 python 脚本的一部分来完成,所以使用 cmd 对我来说不太好。
非常感谢, 阿尔瓦罗
您正在压缩纯字符串,因为压缩函数采用原始数据。
有两种方法可以压缩 snappy 数据 - 作为一个块,另一种作为流(或帧)数据
此函数将使用分帧方法压缩文件
import snappy
def snappy_compress(path):
path_to_store = path+'.snappy'
with open(path, 'rb') as in_file:
with open(path_to_store, 'w') as out_file:
snappy.stream_compress(in_file, out_file)
out_file.close()
in_file.close()
return path_to_store
snappy_compress('testfile.csv')
您可以使用命令行解压缩:
python -m snappy -d testfile.csv.snappy testfile_decompressed.csv
需要注意的是python/snappy目前使用的框架与Hadoop
使用的框架不兼容