You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Power Query代码以解压包含CSV的GZ文件?

处理GZ压缩文件的Power Query代码修改方案

原代码是针对ZIP多文件结构设计的,GZ是单文件压缩格式,没有ZIP那样的多条目头结构,仅需直接处理整个压缩包内容,所以单纯替换压缩方式无法解决问题。以下是适配GZ文件的修改代码:

(GZFile) =>
let
    // 直接对整个GZ文件执行解压操作
    DecompressedBinary = try Binary.Decompress(GZFile, Compression.GZip) otherwise null,
    // 将解压后的二进制内容转为CSV表格(可按需调整CSV参数)
    CSVTable = if DecompressedBinary <> null then 
        Csv.Document(DecompressedBinary, [Delimiter=",", Encoding=65001, QuoteStyle=QuoteStyle.Csv]) 
    else null,
    // 构造包含文件名与内容的结果表
    ResultTable = if CSVTable <> null then
        Table.FromRecords({[FileName = "解压内容.csv", Content = CSVTable]})
    else #table({}, {})
in
    ResultTable

核心说明:

  • GZ格式仅用于压缩单个文件,不需要解析ZIP特有的条目头,直接对整个二进制文件解压即可。
  • 若你的CSV有特殊格式(比如制表符分隔、GBK编码),可修改Csv.Document的参数,例如把Delimiter改为"\t",Encoding改为936。
  • 原代码中针对ZIP的头解析、多条目遍历逻辑完全不适用于GZ,因此全部替换为单文件处理逻辑。

内容的提问来源于stack exchange,提问作者VERBOSE

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 18:08:16