gpt4 book ai didi

Postgresql - 从 Excel 文件填充数据库

转载 作者:行者123 更新时间:2023-11-29 14:12:06 36 4
gpt4 key购买 nike

我想从 excel 文件填充我的客户数据库,我正在使用\copy 命令,但出现以下错误。谁能帮我解决这个问题?

\copy customer from '/home/2008/uehtes/Desktop/Comp421/data.xlsx';
ERROR: invalid byte sequence for encoding "UTF8": 0xde76
CONTEXT: COPY customer, line 1

最佳答案

PostgreSQL 的 COPY 命令和 psql \copy 包装器不理解或不支持 Microsoft Office Excel (xls) 或 Microsoft Office XML 电子表格 (xlsx) 文件格式。

您必须将 Excel 文件另存为 CSV 并使用 \copy ... CSV,或者使用理解 Microsoft Excel 格式的 ETL 工具。保存为 CSV 将是迄今为止最简单的方法。

Excel 工作表中的数据必须与您要复制到的表的 PostgreSQL 列定义兼容。例如,您不能将 ABC123 之类的值复制到 integer 列中。

如果您的 Excel 数据杂乱无章、充满无效值以及存在其他问题,请考虑先在 Excel 中通过添加验证来清理数据。或者,您可以将其导入 TEMPORARYUNLOGGED PostgreSQL 表,其中问题列均使用 text 数据类型定义,然后使用INSERT INTO ... SELECT 命令将清理后的数据插入最终表。最后一个选择是再次使用 ETL 工具(如上述工具之一)在加载和插入数据时清理数据。

您选择哪种方法取决于您更习惯使用 SQL 查询、ETL 工具还是 Excel。

关于Postgresql - 从 Excel 文件填充数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14924942/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com