gpt4 book ai didi

javascript - 如何使用 Google Apps 脚本从网络中的公共(public) CSV 中过滤数据?

转载 作者:行者123 更新时间:2023-11-30 20:26:53 24 4
gpt4 key购买 nike

我正在将数据从公共(public) csv 提取到 Google 电子表格。数据量真的很大,Gsheets 无法处理那么多的信息。这就是为什么我想过滤此结果以仅获取 custom_label2 = 7394141 的结果。

目前,代码如下所示:

function importCSVFromWeb() {

// Provide the full URL of the CSV file.
var csvUrl = "https://storage.googleapis.com/bi_enjoei/export_google/feed_enjoei.csv";
var csvContent = UrlFetchApp.fetch(csvUrl).getContentText();
var csvData = Utilities.parseCsv(csvContent);

var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);

}

提前致谢。

最佳答案

在过滤数据之前,您可能需要获取所有数据。

不幸的是,there is a limit on how much data you can download using UrlFetch (每天最多 100MB,您的 CSV 为 447MB,并且还在增加)。

使用纯 Apps 脚本根本不可能处理这种大小的 CSV。

但是,如果CSV所在的服务器支持partial requests您可能只能获取所需的数据。

这在很大程度上取决于 CSV 的结构;如果 CSV 每行数据存储固定数量的字节,并且标签值 (custom_label2) 始终是连续的,那么这种方法是可行的,因为您将能够计算寻找正确数据行所需的字节偏移量。

但如果数据是稀疏的,每行的存储位置使其只占用所需的空间,那么行大小可能会有所不同,或者如果标签值是任意的,则此方法将不起作用。


另一种选择是利用 Big Query .

由于您的 CSV 保存在谷歌云存储中(假设您拥有该云存储容器),您可以 point to it as an external data source in Big Query .

完成该设置后,您可以通过 the Big Query Advanced service 使用 Google Apps 脚本运行类似 SQL 的查询获取 custom_label2 = 7394141 的行。

然后您可以继续将该行数据添加到电子表格中。

关于javascript - 如何使用 Google Apps 脚本从网络中的公共(public) CSV 中过滤数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50797504/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com