鸭子如何指定字段类型
在 duckdb 中读取 csv 时,指定列字段类型至关重要,以避免类型转换错误。官方文档提供了以下方法:
通过在查询中使用 with (types={{‘column_name’: ‘data_type’}}) 语法指定列类型映射。例如:
query = f"select * from '{excel_file_path}' with (types={{'监测日期': 'varchar'}})"
注意:必须将类型值用单引号括起来,如示例中的 ‘varchar’。
使用 read_csv 函数读取 csv 文件,并指定 types 参数以提供列类型映射。例如:
query = f""" select * from read_csv('{csv_file_path}', types = {{ 'in_system_at': 'varchar', 'in_hide_at': 'varchar', }}); """
在查询中使用 cast 函数手动将特定列强制转换为所需类型。例如:
SELECT CAST(column_name AS data_type) AS converted_column_name FROM '{excel_file_path}'