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

Posted

技术标签:

【中文标题】使用html代码将mysql表导出到csv【英文标题】:Exporting mysql table to csv with html code 【发布时间】:2016-06-21 03:19:16 【问题描述】:

我正在尝试将 mysql 表导出到 CSV 文件。

在表格中,我的列排序如下:

id、名称、标题、内容

content 列中,我有一些 html,然后由于 html 引号,我试图在某些点打开导出的文件。

而不是这个:

id, name,title,content
1, name1, title1, <div class="class1">sometext1</div>
2, name2, title2, <div class="class2">sometext1</div>
3, name3, title3, <div class="class3">sometext1</div>
4, name3, title4, <div class="class4">sometext1</div>

我得到这样的东西:

id, name,title,content
1, name1, title1, <div class="class1">sometext1</div>
2, name2, title2, <div class="
class2">sometext1</div>, 3, name3, title3, <div class="class3">sometext1</div>
4, name3, title4, <div class="class4">sometext1</div>
Here are my settings while exporting

用:\t(制表符)分隔的列

用“”括起来的列

列转义为:“

以:AUTO 结尾的行

将 NULL 替换为:NULL

我在这里做错了什么?文本也是 UTF-8

【问题讨论】:

我敢打赌id:2在线"class之间有一个标签 很好,但是如何在不破坏 csv 的情况下获得它们? 顺便问一下,内容列的数据类型是什么? 您使用哪个 phpMyAdmin 版本来执行导出? @andy,你有什么解决办法吗? 【参考方案1】:

这并不完全像描述的那样有意义;使用您显示的设置 - 具体来说,Columns enclosed with: "Columns escaped with: ",您的数据应如下所示:

id, name,title,content
"1", "name1", "title1, "<div class=""class1"">sometext1</div>"
...

很明显,您的导出出了点问题。我刚刚用我的 phpMyAdmin 进行了测试,这按预期工作,这意味着在导入时,列会被正确解析,包括换行符和内联双引号。

所以我建议先解决这个问题。

另一种解决方案是更改“以结尾的行”分隔符,也可能更改“包含的列”,尽管如上所述,这在您的导出中不起作用。您设置的内容取决于您的其他数据;您必须找到数据库中不存在的一些字符。请记住在导入时也使用该字符,并覆盖默认选择“auto”。

【讨论】:

以上是关于使用html代码将mysql表导出到csv的主要内容,如果未能解决你的问题,请参考以下文章

使用 PHP/PDO 将大型 MySQL 表导出为 CSV

使用Sqoop把ADS层数据导出到MySQL

使用javascript将大型html表导出到excel

使用angularjs将html表导出到文本文件

怎样将MySQL数据导出到Excel表中

将 JSON 数据从 MySQL 表导出到 CSV