我有一個CSV文件,它有以下問題。如何合併CSV文件中的兩行
line 1: "x","y","z","
line 2:
line 3: "," ",": "
這是一行,但已被寫成多行。不幸的是,我不能要求提供商修復它。有沒有辦法可以解決它?
我有一個CSV文件,它有以下問題。如何合併CSV文件中的兩行
line 1: "x","y","z","
line 2:
line 3: "," ",": "
這是一行,但已被寫成多行。不幸的是,我不能要求提供商修復它。有沒有辦法可以解決它?
閱讀文件。去槽每一行,並將你的輸出附加到一個變量。然後,你有所有的線路彼此接連。
$output = '';
foreach($lines as $line) {
$output .= $line;
}
要讀取csv文件,您可以使用fgetcsv。如果line 1:
是您的csv文件的一部分,然後拆分您的輸出:
並使用第二部分。
對不起,第1行:不是包括它來解釋問題的一部分。 –
一個小型的C程序,計數"
並抑制\n
,如果這個計數是奇數。我懷疑這可能在更少的行SED做...
/***
Usage ./a.out <the_file.csv > the_file.out
**/
#include <stdio.h>
int main(void)
{
int ch, state;
for(state=0; ;) {
ch= getc(stdin);
if (ch == EOF) break;
if (ch == '"') state++;
if (ch == '\n') {if (state %2) continue; else state=0; }
putc(ch, stdout);
}
if (state %2) {putc('"', stdout);
return 0;
}
注:如果有逃脫輸入文件引號(\"
)這當然會失敗。
刪除空行? – wildplasser
我可以使用sed刪除空行(第2行),但我需要合併第1行和第3行。此問題隨機發生在大型CSV文件中。 –
啊哈。每個邏輯記錄總是有三條物理線路? (或者是分裂不規則?)BTW是字符串中添加的'\ n'部分,它們是否應該被轉義? – wildplasser