如何在DuckDB CLI中使用FS控制字符作为分隔符读取CSV文件?
在DuckDB中使用FS控制字符(ASCII 28/0x1C)作为CSV分隔符的方法
你可以通过以下几种方式在read_csv函数中指定FS控制字符作为字段分隔符:
使用Unicode转义序列:FS对应的Unicode码点是
U+001C,直接在字符串中用\u001C表示即可:CREATE TABLE some_table AS SELECT * FROM read_csv('/some/file.csv', delim='\u001C');使用十六进制转义:利用DuckDB支持的
\x十六进制转义语法,FS的十六进制值是1C,所以可以写成:CREATE TABLE some_table AS SELECT * FROM read_csv('/some/file.csv', delim='\x1C');
验证方法
如果不确定是否正确传递了分隔符,可以先执行以下查询确认字符的ASCII码:
SELECT ASCII('\u001C'); -- 应返回28 SELECT ASCII('\x1C'); -- 同样应返回28
注意:在Shell环境下使用DuckDB CLI时,确保用单引号包裹参数值,避免Shell解析转义字符导致失效。
内容的提问来源于stack exchange,提问作者SD_
相关产品推荐
相关产品推荐

