我有一個文本文件,它看起來像這樣:如何將我的文本文件轉換爲CSV?
a1: sample1
b1: sample2
c1: sample3
d1: sample4
sample5
sample0
a1: sample_1
b1: sample_2
c1: sample_3
d1: sample_4
sample_5
a1: sample_11
b1: sample_22
c1: sample_33
d1: sample_44
我需要將其轉換爲一個CSV,我可以在Excel中訪問。最終輸出應該如下所示:
a1, b1, c1, d1
sample1,sample2,sample3,"sample4 sample5"
sample_1,sample_2,sample_3,"sample_4 sample_5"
sample_11,sample_22,sample_33,"sample_44 sample_55"
樣本4和樣本5和樣本0,它們都屬於d1,即,在一行中。 所以,基本上D1將是一個小區,它會像三個值:
A1 B1 C1 D1 0行
SAMPLE1 SAMPLE2樣品3 sample4 ROW1 實例5 ROW1
SAMPLE0 ROW1
sample_1 sample_2 sample_3 sample_4 row2 sample_5 row2
d1是一個具有2個值的單元格。
我能夠解析文本文件並根據需要獲取值。 無法獲得列d1所需的方式。 我該怎麼做?
需要一個Perl腳本來做到這一點? 有什麼建議嗎?
open(file, "f1.txt");
open(csv, ">+f2.csv");
while($line =<file>)
chmop;
if($line =~/a1)
{
@arr1 = split(/:/,$line)
print csv "@arr1[1],";
}
if($line =~/b2)
{
@arr2 = split(/:/,$line)
print csv "@arr2[1],";
}
close(file);
close(csv);
這是我到目前爲止的代碼。
歡迎SO!請告訴我們你到目前爲止做了什麼,併爲你的問題添加更多細節! –
要使用CSV格式,您不需要'a1,','b1,','c1,'和'd1'之間的空格。你也不需要圍繞包含空格的字段引用。 – ThisSuitIsBlackNot
在您的問題中編輯「需要Perl腳本」不會添加任何內容(它已被標記爲[tag:perl])。 UliKöhler問你使用你編寫的Perl代碼時遇到了什麼具體問題。你確實寫了*東西*,不是嗎? – ThisSuitIsBlackNot