2017-07-06 86 views
0

我有我保存到谷歌雲存儲具有下列樣品格式CSV文件較大:以「彙總」信息刪除CSV文件中最後一個行

id,revenue 
1,100 
2,100 
... 
Totals 
All,12000 

或者:

title,profit 
titanic,200 
avatar,400 
fox total,600 
paramount total,400 
grand total,1000 

我希望能夠刪除所有行之後,幷包括總計,因爲這不是CSV文件中真正有效的信息(這是該數據低於CSV的更多信息總和)。

有沒有辦法刪除呢?目前,我們正在將csv文件保存到Google Cloud Storage,然後通過Big Query中的csv-import直接導入它。也許,有一種方法,通過大量查詢或類似的東西導入CSV時,行數追加到一個CSV文件,這樣我們就可以在最後做一個delete語句?

回答

1

如果導入後刪除MAX()行麼?

#standardSQL 
DELETE 
FROM `project.dataset.table` 
WHERE revenue = (
    SELECT revenue 
    FROM `project.dataset.table` 
    ORDER BY taxi_trips DESC 
    LIMIT 1 
) 

或去id爲 「全部」:

#standardSQL 
DELETE 
FROM `project.dataset.table` 
WHERE id = "All" 
+0

我們怎麼知道'max_row'?如果沒有自動遞增的ID(上面修改的問題)會怎麼樣。此外,ID通常不是「全部」,這只是一個例子。 – David542

+1

如果它是一個總量,增加了所有正數,那麼它必須是最大號 - 或不? –

+0

不,不是小計或記錄數。也許更直接的問題是:有沒有辦法使用BigQuery將行號添加到csv導入中?此外,這不是一個常見的情況(我看到大約1/3的csv/excel文件在底部顯示總計信息,並且幾乎總是用於任何財務信息。) – David542

相關問題