我正在嘗試構建一個氣流 DAG,并且需要將一個 csv 中包含的 7 個表拆分為七個單獨的 csv。
dataset1
| header_a | header_b | header_c |
|---|---|---|
| 一 | 二 | 三 |
| 一 | 二 | 三 |
<-Always two spaced rows between data sets
dataset N <- csv 檔案的一部分,提供資料的詳細資訊
| header_d | header_e | header_f | header_g |
|---|---|---|---|
| 一 | 二 | 三 | 四 |
| 一 | 二 | 三 | 四 |
out:
dataset1.csv
datasetn.csv
根據我的研究,我認為我的解決方案可能在于awk尋找雙空格?
編輯:按要求使用純文本。
table1 details1,
table1 details2,
table1 details3,
header_a,header_b,header_c,
1,2,3
1,2,3
tableN details1,
tableN details2,
tableN details3,
header_a, header_b,header_c,header_N,
1,2,3,4
1,2,3,4
uj5u.com熱心網友回復:
資料集之間總是有兩個間隔的行
如果您的 CSV 檔案包含空行,并且您的目標是將由這些空行分隔的每個記錄塊寫入單獨的檔案,那么您可以將awk其記錄分隔符RS設定為空,然后默認處理每個“段落“作為記錄。然后可以將它們中的每一個重定向到名稱基于記錄號的檔案NR:
awk -vRS= '{print $0 > ("output_" NR ".csv")}' input.csv
這會讀取input.csv塊并將其寫入output_1.csv、output_2.csv等output_3.csv。
如果我對您的輸入檔案結構(或一般問題)的解釋是錯誤的,請提供更多詳細資訊以澄清。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/432414.html
上一篇:將主題標簽寫入檔案
