創建包含100個以上字段的CSV文件的最佳方法是什麼?查詢mysql,放置空字段,並使用PHP將數據導出爲CSV
一個簡單的例子是(包涵):
如果我有5列表(X,O,#,T,P)與行的X量和CSV格式需要是
X,,,,O,,,,T,P,,,,,,#,,,
謝謝!
創建包含100個以上字段的CSV文件的最佳方法是什麼?查詢mysql,放置空字段,並使用PHP將數據導出爲CSV
一個簡單的例子是(包涵):
如果我有5列表(X,O,#,T,P)與行的X量和CSV格式需要是
X,,,,O,,,,T,P,,,,,,#,,,
謝謝!
你可以直接使用MySQL查詢
"SELECT column1, column2, column3 INTO OUTFILE '<filename>' FIELDS TERMINATED BY ',' ENCLOSED BY '\"' ESCAPED BY '\\' LINES TERMINATED BY '\r\n' FROM table1;"
一種方法是你可以把虛擬列select
查詢本身導出表數據爲CSV文件,然後只需創建一個從輸出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);
您可以在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
變量接收這些文件中的字段的值,而列名接受這些文件字段。
您可以選擇您想要的字段或選擇*並輸出到csv文件。 – user2260040
@ user2260040他的問題是如何在他選擇的列之間創建所有空字段。 – Barmar
我需要所有的領域。我正在尋找最好的/正確的方式來做到這一點在空字段也被插入。 – tai