我正在使用mysql ** select into outfile ..“将数据导出到csv文件,但在mysql表中有一个字段”text“,字段中包含一些html内容。
内容包含双引号(“)和逗号(,),因此当我将数据转储到csv时,当我使用office excel打开csv文件时,文本字段将吐出到许多字段。
我的表格中的一些数据如下:
<div id="designer-txt-right">
<h2>TECHNICAL INFORMATION</h2>
<ul>
<li>
<strong><span lang="IT">Internal frame</span>: </strong><br>
<span lang="IT">tubular steel and steel profiles</span></li>
<li>
<strong><span lang="IT">internal frame upholstery</span>: </strong><br>
<span lang="IT"><span lang="IT">Bayfit® (Bayer®) flexible cold shaped polyurethane foam, cover in water repellent polyester fibre</span></span></li>
<li>
<strong><span lang="IT">Feet and fixing elements</span>: </strong><br>
<span lang="IT"><span lang="IT">thermoplastic material</span></span></li>
<li>
<strong>COVER: </strong><br>
FABRIC (<span lang="IT">limited categories)</span></li>
</ul>
<br>
</div>
我的导出sql语句:
SELECT * INTO OUTFILE '/tmp/filename.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\r\n' FROM product;
答案 0 :(得分:0)
首先在文本编辑器中检查生成的文件的内容,并确保包含引号和逗号的字符串实际上被引号括起来。我怀疑该文件生成正确;但是,如果您在Excel中查看该文件,其中的HTML内容肯定会导致问题。原因是该程序与许多MS Office程序一样,看到HTML然后它试图解析它。这可能会导致在Excel中查看文件时出现一些问题,并且没有一个好的解决方法。如果您有其他可以使用的程序可以使用查看文件,请尝试使用它们。您还可以使用CSV lint验证内容:http://csvlint.io/