搜索快捷键 cmd + k | ctrl + k
sheetreader

快速 XLSX 文件导入器

维护者:freddie-freeloader

安装和加载

INSTALL sheetreader FROM community;
LOAD sheetreader;

示例

-- Create table from XLSX file & use default values for parameters
CREATE TABLE data AS FROM sheetreader('data.xlsx');

-- Example usage of available named parameters
CREATE TABLE data2 AS FROM sheetreader(
    'data2.xlsx',
    sheet_index = 1,
    threads = 16,
    skip_rows = 0,
    has_header = true,
    types = [BOOLEAN, VARCHAR],
    coerce_to_string = true,
    force_types = true
);

关于 sheetreader

sheetreader 是一个 DuckDB 扩展,允许使用 SheetReader(我们速度极快的 XLSX 解析器 (https://github.com/polydbms/sheetreader-core))将 XLSX 文件读取到 DuckDB 表中。

参数

名称 描述 类型 默认值
sheet_index 要读取的工作表的索引。从 1 开始。 INTEGER(整数) 1
sheet_name 要读取的工作表的名称。
只能设置 sheet_indexsheet_name 中的一个。
VARCHAR(字符串) ""
threads 解析时使用的线程数 INTEGER(整数) 可用核心数的一半;最小值 1
skip_rows 要跳过的行数 INTEGER(整数) 0
has_header 强制将第一行视为标题行。
<ul> <li> 如果成功,单元格内容将用作列名。 </li> <li> 如果设置为 false(这是默认设置),该扩展仍会尝试将第一行视为标题行。
区别在于,如果第一行不可用,它不会失败。 </li> </ul>
BOOLEAN(布尔值) false(假)
types 所有列的类型列表 <ul> <li> 当前可用的类型
VARCHARBOOLEANDOUBLEDATE。</li> <li> 与 coerce_to_stringforce_types 结合使用很有用。 </li> </ul>
LIST(VARCHAR)(字符串列表) 使用由第一行和第二行(在跳过的行之后)确定的类型
coerce_to_string 强制将类型为 VARCHAR 的列中的所有单元格转换为字符串(即 VARCHAR)。 BOOLEAN(布尔值) false(假)
force_types 即使 types 与第一行/第二行确定的类型不兼容,也使用它们。
如果单元格不是列类型,则将其设置为 NULL,或者如果设置了该选项,则强制转换为字符串。
BOOLEAN(布尔值) false(假)

更多信息

SheetReader 发表于《信息系统杂志

@article{DBLP:journals/is/GavriilidisHZM23,
  author       = {Haralampos Gavriilidis and
                  Felix Henze and
                  Eleni Tzirita Zacharatou and
                  Volker Markl},
  title        = {SheetReader: Efficient Specialized Spreadsheet Parsing},
  journal      = {Inf. Syst.},
  volume       = {115},
  pages        = {102183},
  year         = {2023},
  url          = {https://doi.org/10.1016/j.is.2023.102183},
  doi          = {10.1016/J.IS.2023.102183},
  timestamp    = {Mon, 26 Jun 2023 20:54:32 +0200},
  biburl       = {https://dblp.org/rec/journals/is/GavriilidisHZM23.bib},
  bibsource    = {dblp computer science bibliography, https://dblp.org}
}

新增函数

function_name 函数类型 description comment examples
sheetreader table NULL(空) NULL(空) []