在 duckdb 中读取 csv 指定列类型
在使用 duckdb python sdk 读取 csv 文件时,有时会遇到类型转换错误,这是因为 duckdb 根据文件中有限的行数自动检测数据类型,而这些类型可能不符合实际情况。
为了指定列的字段类型,可以利用 duckdb 的 read_csv 函数,该函数接受一个 types 参数,允许手动指定列类型。这对于处理日期、布尔值或字符串等特殊类型的数据很有用。
示例:
假设有一个名为 data.csv 的 csv 文件,包含如下内容:
id,name,date1,john,2023-09-222,jane,2023-09-233,peter,2023-09-24
要读取该文件并指定列类型,可以使用以下代码:
import duckdbcsv_file_path = ‘data.csv’query = f"""SELECT *FROM read_csv(‘{csv_file_path}’, types = {{ ‘id’: ‘INT’, ‘name’: ‘VARCHAR’, ‘date’: ‘DATE’ }});"""df = duckdb.query(query).df()
在这个示例中,types 参数指定:
id 列为整数 (int)name 列为可变长度字符串 (varchar)date 列为日期 (date)
通过指定列类型,可以确保数据按正确的方式解释和处理,从而避免类型转换错误。
以上就是DuckDB读取CSV文件时如何指定列的类型?的详细内容,更多请关注范的资源库其它相关文章!
转载请注明:范的资源库 » DuckDB读取CSV文件时如何指定列的类型?