2017-07-06 52 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

相关问题