查询mysql,放置空字段,并使用PHP将数据导出为CSV

时间:2016-02-26 04:32:01

标签: php mysql csv

创建包含100多个字段的CSV文件的最佳方法是什么?其中只有1/3实际使用?

一个简单的例子是(忍受我):

如果我有一个包含X行数的5列表(X,O,#,T,P),并且需要csv格式

X,,,,O,,,,T,P,,,,,,#,,,

谢谢!

3 个答案:

答案 0 :(得分:0)

您可以使用mysql查询直接将表数据导出到csv文件

"SELECT column1, column2, column3 INTO OUTFILE '<filename>' FIELDS TERMINATED BY ',' ENCLOSED BY '\"' ESCAPED BY '\\' LINES TERMINATED BY '\r\n' FROM table1;"

答案 1 :(得分:0)

一种方法是,您可以在select查询中放置虚拟列,然后从输出中创建CSV

select X,'','','',O,'','','',T,P,'','','','','',#,'','' from table_name; // this will by default give you your CSV structured output.

$fp = fopen('file_name', 'w');

fputcsv($fp, $values);

答案 2 :(得分:0)

您可以在SELECT子句

中创建大量空字段
SELECT X, '' AS col2, '' AS col3, '', O, '', '', '', '', T, P, '', '', '', '', '', '', `#`, '', ''
INTO OUTFILE 'filename.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM yourTable;

将文件读回表格时,您可以指定文件的哪些字段进入表格:

LOAD DATA INFILE 'filename.csv'
INTO TABLE yourTable
(X, @dummy, @dummy, @dummy, O, @dummy, @dummy, @dummy, @dummy, T, P, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, `#`, @dummy, @dummy);

@dummy变量接收这些文件字段的值,而列名称则接收这些文件字段。