我遇到了一个问题我有一个“文本”字段,其中包含一些“故事”,这些故事是通过单词等粘贴的,因此包括换行符和制表符等内容。我想导出到CSV维护这些或能够让他们回来。
但我无法弄清楚如何逃避它们以便它起作用?当我导出CSV时,我会在多行/列上获得一堆包含单句的CSV。
我尝试用其他东西替换新闻专线,但我一直搞砸了。有没有一种简单的方法可以在不破坏数据的情况下做到这一点?
答案 0 :(得分:2)
CSV不是任意文字的良好格式,但您可以尝试
SELECT ... INTO OUTFILE '/tmp/text.csv'
FIELDS ESCAPED BY '""' TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM yourtable
答案 1 :(得分:0)
尝试这样的事情:
$line.=preg_replace("/\n\t/", ";", preg_replace("/,/", ";", $f['field5'])).',';
或
$line.=preg_replace("/\n/", ";", preg_replace("/,/", ";", $f['field5'])).',';
最后,您必须首先显示包含标题的$line
。
$f['field5']
- 数据来自db。
答案 2 :(得分:0)
您可以尝试SELECT
进行搜索并替换某种内容,搜索'\n'
的换行符并将其替换为''
。除非您执行SELECT
,否则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');