PSQL 导入到 CSV 将一列转换为整数

问题描述 投票:0回答:1

我每天都会将原始数据 (CSV) 从 S3 存储桶复制到服务器,并使用 COPY 将原始数据导入到 Postgresql 数据库。导入的表有一个整数类型的列,不幸的是原始数据中相应的列是浮点数类型。尝试导入会导致错误:错误:整数类型的输入语法无效。有没有办法在 COPY 命令中将原始数据浮点列转换为整数类型?

最快和最简单的解决方案是更改正在导入的表,但不幸的是我不能这样做,因为这是不允许的(政策和业务规则)。

csv import psql
1个回答
0
投票

你可以做的是:编写一个Python脚本(使用psycopg2和pandas库)。首先,将 csv 文件加载到数据框(pandas)中,然后为此特定列编写快速数据类型转换,保存修改后的数据,最后将其复制到 Postgresql 数据库中。所有这些都可以在一个小脚本中实现。亲切的问候,罗宾。

© www.soinside.com 2019 - 2024. All rights reserved.