代码之家  ›  专栏  ›  技术社区  ›  SD_

使用CLI将由文件分隔符控制字符(FS/ASCII28/UTF-8 0x1C)分隔的csv文件读取到duckdb中

  •  2
  • SD_  · 技术社区  · 5 月前

    尝试使用文件分隔符控制字符(FS/ASCII 28/UTF-8 0x1C)作为分隔符从CSV文件读取到来自CLI的duckdb:

    CREATE TABLE some_table AS SELECT * FROM read_csv('/some/file.csv', delim='**<what goes here????>**');
    

    有人能建议传递此字段分隔符的正确方法吗?

    非常感谢。

    1 回复  |  直到 5 月前
        1
  •  0
  •   hrbrmstr    5 月前
    XFS=$(printf '\034')
    cat << EOF > test.csv
    header1${XFS}header2${XFS}header3
    value1${XFS}value2${XFS}value3
    test1${XFS}test2${XFS}test3
    EOF
    
    duckdb -c "FROM read_csv('test.csv', delim = E'\x1C', header = true)"
    ┌─────────┬─────────┬─────────┐
    │ header1 │ header2 │ header3 │
    │ varchar │ varchar │ varchar │
    ├─────────┼─────────┼─────────┤
    │ value1  │ value2  │ value3  │
    │ test1   │ test2   │ test3   │
    └─────────┴─────────┴─────────┘
    
    推荐文章