我必須解析一個csv文件並將其內容轉儲到mysql表中。使用awk將csv文件解析爲數組
# myfile.csv # Contents # Sample Headers "header1 with quotes", header2withoutquotes, "header3", header4, hdeader5 "Sample Text",2,3,4,"MoreText, with commas" "Text2 with escaped \"",8,6,7,9 "Text3",876,0.6,7,10
首頁輸出
rowid|header1 with quotes|Sample Text|myfile 1|header2withoutquotes|2|myfile 1|header3|3|myfile 1|header4|4|myfile 1|header5|MoreText, with commas|myfile 2|header1 with quotes|Text2 with escaped \"|myfile 2|header2withoutquotes|8|myfile 2|header3|6|myfile 2|header4|7|myfile 2|header5|9|myfile 3|header1 with quotes|text3|myfile 3|header2withoutquotes|876|myfile 3|header3|0.6|myfile 3|header4|7|myfile 3|header5|10|myfile
在輸出的第二我需要自定義頁眉進行水平對齊。例如
rowid|"header1 with quotes"|"header3"|header4|filename 1|Sample Text|3,4,myfile 2|Text2 with escaped \"|6|7|myfile 3|Text3|0.6|7|myfile
對於第二個輸出,它可以是我選擇的任何一組標題。 然後,我可以使用加載數據infile將此輸出數據加載到mysql表中。尋找awk腳本來實現這一點。需要幫助請叫我。 TX。
請原諒未格式化的數據。仍在學習...... – user676500
@edmorton按照要求編輯了問題。 – user676500
如果您需要使用嵌入逗號和引號來處理CSV的完整複雜性,那麼您可能最好使用Python或Perl以及可用的CSV模塊,或者使用專門的工具,如CSVfix(該工具位於Google Code上有一次,但現在已經閉店了;我不確定這些日子的官方消息來源,這很令人尷尬)。 –