我需要从mysql中导出一些数据到一个csv文件中。但是其中一列有换行符,我需要将数据导出到一个csv文件中保存换行符。
现在我使用下面的SQL查询:
select username, description from users into outfile '/tmp/test.csv' FIELDS ESCAPED BY '"' TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n';
字符串
但是那个sql查询并不保存csv文件中的换行符。我不是MySQL的Maven,如果有人能帮助我,我将不胜感激
2条答案
按热度按时间hi3rlvi21#
你似乎碰到了这个bug:https://bugs.mysql.com/bug.php?id=40320这个bug从2008年就开始报告了。我刚刚测试了一下,发现它仍然是MySQL 8.0.3中的一个bug。
我可以用这种方式解决这个bug:
字符串
文件是用文字
\n
文本(即两个字符)导出的。因此,当加载数据时,必须反转替换:型
当然,这不是很优雅,但这是一种变通方法。
另一种选择是编写一个应用程序来执行导出和导入,并避免使用
SELECT...INTO OUTFILE
或LOAD DATA INFILE
。w6lpcovy2#
就用
"
引用吧示例打击:
字符串
文件看起来像:
型
Pandas可以处理它:
型
DataFrame:
型
当然Spark与
multiLine=True
:型