当前位置: 首页 > ops >正文

mysql导出csv中字段里有换行符的处理办法及hive导出处理办法

mysql命令行导出csv文件时,若字段里有换行符,输出的文件就会在换行符前面加一个反斜杠,这种非标准的csv导入到excel也乱行了。网上查了好多文章,都建议在相应的字段上加replace函数,把换行符替换成特殊标记,这显然是非常笨的做法,无法通用,特别是无法预测哪个字段会有换行符的。所以我的做法是:
1、导出csv时,给字符型字段值加上双引号

 mysql --defaults-extra-file=~/.10.16.32.9.my.cnf -h 10.16.32.9 -P 13306 -e "select t.id,t.code,t.partner_type_id,t.path,t.customer_id,t.name,t.org_id,t.default_out_account_num,t.default_out_account,t.default_bank,t.project_register_way,t.credit_code,t.sftp_user,t.sftp_pwd,t.push_result_msg,t.is_push_voucher,t.deleted,t.create_time,t.update_time,t.xg_id,t.dept_id,t.act_status,t.finance_system_code,t.enabled,t.apply_emp,t.apply_dept,t.apply_time,t.created_by,t.updated_by,t.bear_all,t.payee_type,t.manager,t.image_url,t.is_virtual,t.crm_sale_org_id from loan.loan_partner t INTO OUTFILE '/tmp/loan_partner.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' ESCAPED BY '\\\' LINES TERMINATED BY '\n'"

2、用sed把Csv中“+换行符”替换成“换行符”

sed -i "s/\\\\$/\n/g" loan_partner.csv

这时,再用excel打开,就不会有乱行的问题。
对这个标准的csv如果要导入出hive中,再参考我另一篇就可以解决了:
https://blog.csdn.net/weixin_45357522/article/details/150390071

另外,hive在csv标准方面兼容性不好,如果字段里有逗号,或双引号,就得前面加反斜杠转义,而标准csv字段值用双引号括起来之后,如果字段里有双引号则在双引号前面再加一个双引号就可以了,逗号不需要转义了。

http://www.xdnf.cn/news/19404.html

相关文章:

  • 【php反序列化字符串逃逸】
  • Go 面试题: new 和 make 是什么,差异在哪?
  • ADSL 代理 Proxy API 申请与使用指南
  • NLP技术突破:浅层与深层语义分析全解析
  • test隐藏能力
  • 5-ATSAM3X8-定时器
  • 架构选型:为何用对象存储替代HDFS构建现代数据湖
  • 腾讯混元翻译大模型Hunyuan-MT-7B:重塑跨语言沟通的技术革命
  • 定时器设计之->分级时间轮
  • 基于SpringBoot的二手交易平台【2026最新】
  • 2025我“生发”了『折行』|『内注』|『终端正偿』|『中文负偿』四大“邪术”(前二造福python代码阅读者;后二助力所有艺术人)
  • Kali自带的录屏工具:recordmydesktop
  • 基于单片机电动车充电桩/充电车棚环境监测设计
  • 如何将照片从电脑传输到安卓设备
  • vscode翻译插件
  • Kafka 架构原理
  • 【大模型】大模型微调-RLHF(强化学习)
  • Certificate is Signed Using a Weak Signature Algorithm漏洞解决
  • Uniapp 图片前端上传功能实现与详解
  • JVM:内存区域划分、类加载的过程、垃圾回收机制
  • 【Spring Cloud微服务】8.深度实战:微服务稳定性的守护神——Sentinel
  • 项目升级--mysql主从复制和读写分离
  • 统计学的“尝汤原理”:用生活案例彻底理解中心极限定理
  • 9.1C++——类中特殊的成员函数
  • GitHub 热榜项目 - 日榜(2025-09-01)
  • Android面试指南(六)
  • 科学研究系统性思维的方法体系:数据收集模板
  • 【Docker】Docker的容器Container、镜像Image和卷Volume对比
  • JVM核心机制:类加载与内存结构详解
  • Axios与Ajax:现代Web请求大比拼