⌘+k ctrl+k
1.1.3 (stable)
Search Shortcut cmd + k | ctrl + k
CSV Import Tips

以下是一些在尝试导入复杂CSV文件时可能有帮助的技巧集合。在示例中,我们使用了flights.csv文件。

如果头部未正确检测到,则覆盖头部标志

如果一个文件只包含字符串列,header 的自动检测可能会失败。提供 header 选项来覆盖此行为。

SELECT * FROM read_csv('flights.csv', header = true);

如果文件不包含标题,请提供名称

如果文件不包含标题,默认情况下将自动生成名称。您可以使用names选项提供自己的名称。

SELECT * FROM read_csv('flights.csv', names = ['DateOfFlight', 'CarrierName']);

覆盖特定列的类型

types 标志可用于通过提供 nametype 映射的结构来覆盖仅某些列的类型。

SELECT * FROM read_csv('flights.csv', types = {'FlightDate': 'DATE'});

使用 COPY 将数据加载到表中

COPY 语句 直接将数据复制到表中。CSV 读取器使用表的模式,而不是从文件中自动检测类型。这加快了自动检测的速度,并防止在自动检测过程中出现错误。

COPY tbl FROM 'test.csv';

使用 union_by_name 加载具有不同模式的文件

union_by_name 选项可用于统一具有不同或缺失列的文件的模式。对于没有某些列的文件,将填充 NULL 值。

SELECT * FROM read_csv('flights*.csv', union_by_name = true);