将 mysql 表导出到 csv 中,其中数据在列中包含换行符

Posted

技术标签:

【中文标题】将 mysql 表导出到 csv 中,其中数据在列中包含换行符【英文标题】:export mysql table into csv where data contains newline within column 【发布时间】:2012-02-10 04:20:54 【问题描述】:

我尝试将 mysql 表导出为 csv 文件,该表在几列中包含换行符等通配符。以下 csv 文件在 excel/csved 中打开时显示列不正确分离,这是怎么回事?

SELECT * INTO OUTFILE 'table.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' 转义 '\\' LINES TERMINATED BY '\n' FROM mytable limit 10

【问题讨论】:

您可以使用 ODBC 从 Excell 连接到您的数据库吗?这应该比 CSV 更容易正确。 @Andrew:远程数据库太大(TB),无法直接从 excel 导出。并且该过程需要在linux shellscript中编写脚本 【参考方案1】:

在 mysql 的导出过程中,您可以建议使用备用字段分隔符,而不是逗号。只需选择一个不太可能出现在您的任何输出字段中的字符即可~我个人已经这样做并选择了几个字符,例如“£€£”。

那么。当您在 xl 中打开文件时,您可以告诉 xl 字段和行分隔符是什么。

导出语法的信息可以在文件文档的加载数据中找到。

https://dev.mysql.com/doc/refman/5.7/en/load-data.html

大卫。

【讨论】:

以上是关于将 mysql 表导出到 csv 中,其中数据在列中包含换行符的主要内容,如果未能解决你的问题,请参考以下文章

将 JSON 数据从 MySQL 表导出到 CSV

MySQL 将多个表中的特定字段导出到一个 csv 文件中?创建表输出

如何将csv导入mysql和mysql导出csv

MySQL:将多个表导出到 CSV 文件

导出为 CSV 时,如何在列中保留前导零?

使用html代码将mysql表导出到csv