【发布时间】:2021-08-06 12:13:49
【问题描述】:
已解决:整数列设置为自动递增,导入时将其留空...
我们有很多数据,目前在 excel 中。我制作了一个 VBA 脚本,它为我构建了一个 CSV 以导入到我们的数据库/PostgreSQL 表中。我正在尝试使用 PgAdmin 的导入/导出功能进行导入。
该表具有类型([PK] 整数、字符串、字符串、JSON)的列。当我尝试导入时,它会在开始时给我一个错误,说 »2« 不是有效的整数。
该文件采用 UTF-8 编码。
这是 PgAdmin 生成的命令:
--command " "\copy public.stocknew (stockid, stockname, stockbarcode, stockjson) FROM '//DESKTOP-G86U473/temp/Test.csv' DELIMITER ',' CSV ENCODING 'UTF8' QUOTE '"' ESCAPE '''';""
不是一个普通的提问者,所以如果有什么需要澄清的,请发表评论。
这是 CSV 文件的第一个条目。
2,"W12345","35","{
'"Manufacturer'":'"ExampleValue'",
'"Supplier'":'"ExampleValue'",
'"SupplierName'":'"ExampleValue'",
'"Category'":'"ExampleValue'",
'"SubCategory'":'"ExampleValue'",
'"Partvalue'":'"868MHz - 928MHz, 2.400MHz - 2.500MHz'",
'"Tolerance'":'"ExampleValue'",
'"Dimension'":'"10,4 x 49,6mm'",
'"Temperature'":'"-34°C + 76°C'",
...*This keeps going for a while*...
'"Example'":2,
'"Example'":3,
'"Example'":4
}"
【问题讨论】:
-
欢迎欢迎。您是否尝试将 Excel 文件导出为 CSV(从另存为)并使用 PostgreSQL 的 COPY 加载数据?错误可能并不总是准确的;它们可能只是您应该关注的总体方向。在这里,我的猜测是,该行的格式不正确。转义字符也不是。例如,我假设
"被设置为封装字符。但是,JSON 数据不会转义作为数据一部分的"。此外,我不会在字段值中使用换行符。 JSON 可以在没有换行符的情况下很好地加载。 -
@edd 谢谢,谢谢。遗憾的是,我无法直接从 excel 中导出文件,json 信息散布在工作表周围,我正在用我的脚本收集它。奇怪的是,我有另一种方法可以实际创建一个可用于导入的 csv。问题是,即使它指定了 UTF-8,它也不会显示像 Ä Ü Ö ° 这样的字符。否则它看起来完全一样。例如,对于温度,CSV 看起来像这样: ....'"Temperature'":'"-34?C + 76?C'".... 但我仍然采纳了您的建议并在JSON。可惜没修好。
标签: vba postgresql pgadmin