解决 .csv 文件上传到 pgsql 的字符报错问题

目录

背景

上传 .csv 文件进行数据导入到 pg 时,报错显示如下:

复制代码
ods.tbl_inp_fee_detail.csv数据上传失败
报错信息:org.postgresql.util.PSQLException: ERROR: invalid byte sequence for encoding "UTF8": 0x00 Where: COPY tbl_inp_fee_detail, line 3942264

问题

通过报错信息定位到 line 3942264,发现该 .csv 文件中存在 NUL 的字符,在 notepad++ 中显示如下图所示:

PS:notepad++ 记得先勾选上 功能栏选择 视图->显示符号->显示所有字符

解决办法

  1. 把打开 .csv 文件的默认格式改为 notepad++ 打开

  2. 最好采用本地的解压软件打开压缩包

  3. 由于压缩包的 .csv 文件是加密的,需要先解密,然后就可以打开报错相应的 .csv 文件,这时就直接打开的是 notepad++

  4. 在 notepad++ 中,点搜索栏的查找,在弹出窗口选替换,输入框输入 \x00 ,下面的替换为给它删到空,因为就是要把 NUL 字符替换为空,然后注意查找模式要选择扩展,最后点全部替换即可,记得 ctrl + s 保存,然后压缩包会提示你保存更改,点确认即可

  5. PS:解压 .csv 文件,notepad++ 打开 。csv 文件,以及替换字符的过程都可能需要挺长时间(看 .csv 文件的大小),不要乱点界面不然会卡死被强制退出

相关推荐
OK_boom15 小时前
C# Dapper匹配postgresql的jsonb类型
开发语言·postgresql·c#
SelectDB技术团队15 小时前
当 PostgreSQL 面临性能瓶颈:80TB 电商业务迁移至 Apache Doris 的实践思考
数据库·postgresql·apache
梦想画家17 小时前
告别轮询:基于PostgreSQL CDC构建实时数据管道
数据库·postgresql·kafka·实时湖仓
粗体鱼1 天前
RAG/Agent 记忆混合检索多路召回:RRF 算法与Chunk RRF、Document RRF如何决策TopK
postgresql·milvus·es·rag·rff·mermory
SelectDB1 天前
当 PostgreSQL 面临性能瓶颈:80TB 电商业务迁移至 Apache Doris 的实践思考
postgresql
IvorySQL2 天前
PG 日报|PG20 正式计划移除 refint 模块,官方指引迁移原生外键
数据库·人工智能·postgresql·开源·区块链
2601_960906722 天前
华为MateBook Pro S首发搭载麒麟XE90
华为·postgresql·sqlite·时序数据库·tdengine
丘丘用户思思澪2 天前
混合检索的极简主义:PostgreSQL + pgvector 生产级方案
数据库·postgresql·bm25·vectordb
依晨照旧2 天前
PostgreSQL 常用命令速查:MySQL 用户平滑上手,psql 元命令 + 库表管理 + 运维排查一篇通
后端·postgresql
AAA@峥2 天前
PostgreSQL 入门与实战指南|从基础概念到 CentOS 部署、运维、CRUD 完整教程
运维·postgresql·centos