2

我有一个问题,我有一个“文本”字段,其中包含一堆从单词等粘贴的“故事”,因此包括换行符和制表符之类的内容。我想导出到 CSV 来维护这些或能够将它们取回。

但我不知道如何逃脱它们所以它有效?当我导出 CSV 时,我得到一个 CSV,其中包含多行/列上的一堆单句。

我尝试用其他内容替换新闻行,但我一直在搞砸。有没有一种简单的方法可以在不破坏数据的情况下做到这一点?

4

3 回答 3

2

CSV 不是任意文本的好格式,但您可以尝试

SELECT ... INTO OUTFILE '/tmp/text.csv'
   FIELDS ESCAPED BY '""' TERMINATED BY ','  OPTIONALLY ENCLOSED BY '"'
   LINES TERMINATED BY '\n' 
FROM yourtable
于 2013-03-04T16:27:29.880 回答
0

尝试这样的事情:

$line.=preg_replace("/\n\t/", ";", preg_replace("/,/", ";", $f['field5'])).',';

或者

$line.=preg_replace("/\n/", ";", preg_replace("/,/", ";", $f['field5'])).',';

最后你必须首先显示$line包括标题。

$f['field5']- 来自数据库的数据。

于 2013-03-04T16:28:18.930 回答
0

您可以尝试 a SELECTwith a search and replace 之类的东西,在其中搜索换行符 of'\n'并将其替换为 nothing ''。ASELECT实际上不会替换表本身中的任何内容,除非您执行了UPDATE. 请参见下面的查询示例。

(SELECT 'columnA', 'columnB', 'columnC')
UNION
(SELECT `columnA`, REPLACE(`columnB`, '\n', ''), `columnC`
FROM `yourtable`
INTO OUTFILE '/tmp/text.csv'
FIELDS OPTIONALLY ENCLOSED BY '"' TERMINATED BY ',' ESCAPED BY '"'
LINES TERMINATED BY '\n');
于 2016-09-21T20:06:07.237 回答