我正在尝试导入第五十八数据,但是当尝试从CSV文件导入完整链接时,它超出了Google允许的限制。
所以...我想知道如何过滤,以便仅导入今天的游戏和将来的日期。从过去的游戏来看,对我来说没有任何价值。
=IMPORTDATA("https://projects.fivethirtyeight.com/soccer-api/club/spi_matches.csv")
IMPORTDATA无效,因为它超出了电子表格的限制,因为它保存了自2016年以来的过去游戏数据,因此数据列表太大。
我只需要当前日期和将来的日期游戏
答案 0 :(得分:1)
这个答案怎么样?
似乎CSV数据的大小为4,183,375字节,以及32,101行22列。那么如何使用Google Apps脚本放置数据呢?遗憾的是,由于CSV尺寸较大,因此无法使用自定义功能放置它。
从the benchmark for importing CSV data to Spreadsheet开始,当使用Sheets API时,可以通过使用Utilities.parseCsv()
和setValues()
的方法来降低处理成本。因此,在此答案中,Sheets API用于将CSV值放入Spreadsheet。请认为这只是几个答案之一。
使用以下脚本之前,please enable Sheets API at Advanced Google services。
function myFunction() {
var url = "https://projects.fivethirtyeight.com/soccer-api/club/spi_matches.csv";
var data = UrlFetchApp.fetch(url).getContentText();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var resource = {requests: [{pasteData: {
data: data,
coordinate: {sheetId: sheet.getSheetId()},
delimiter: ","
}}]};
Sheets.Spreadsheets.batchUpdate(resource, ss.getId());
}
如果您不能使用Sheets API,也可以使用以下脚本。
function myFunction() {
var url = "https://projects.fivethirtyeight.com/soccer-api/club/spi_matches.csv";
var data = UrlFetchApp.fetch(url).getContentText();
var csv = Utilities.parseCsv(data);
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(1, 1, csv.length, csv[0].length).setValues(csv);
}
如果这不是您想要的方向,我深表歉意。