julia:如何读取 bz2 压缩文本文件

Ott*_*met 5 julia compressed-files

在 R 中,我可以将整个压缩文本文件读入字符向量,如下所示

readLines("file.txt.bz2")
Run Code Online (Sandbox Code Playgroud)

readLines透明地解压缩 .gz 和 .bz2 文件,但也适用于非压缩文件。朱莉娅有类似的东西吗?我可以

text = open(f -> read(f, String), "file.txt")
Run Code Online (Sandbox Code Playgroud)

但这无法打开压缩文件。读取 bzip2 文件的首选方式是什么?有没有什么方法(除了手动检查文件扩展名)可以自动推断压缩格式?

crs*_*nbr 5

我不知道任何自动的事情,但这就是你如何(创建和)读取 bz2 压缩文件的方法:

using CodecBzip2 # after ] add CodecBzip2

# Creating a dummy bz2 file
mystring = "Hello StackOverflow!"
mystring_compressed = transcode(Bzip2Compressor, mystring)
write("testfile.bz2", mystring_compressed)

# Reading and uncompressing it
compressed = read("testfile.bz2")
plain = transcode(Bzip2Decompressor, compressed)
String(plain) # "Hello StackOverflow!"
Run Code Online (Sandbox Code Playgroud)

还有可用的流变体。有关更多信息,请参阅CodecBzip2.jl