发布csv文件到网络
显然,IMPORTDATA
仅适用于发布到网络的文档。您可以采取以下两种方法使其对您有用:
- 将您的csv文件存储在公共 Google Drive 文件夹中
- 以其他方式将您的csv文件托管到网络上 - 我想您需要在计算机上运行一个带有csv文件的服务器。
但是,这将使您的csv数据公开给与互联网连接的任何人(可能不是您想要的)。
保持csv文件私密
如果您希望数据保持私密,您可以编写一个定期将csv数据加载到电子表格中的脚本。
Google 提供了一个名为 Google Apps Script (GAS) 的服务,它允许您使用 JavaScript 编写脚本,在 Google Drive 中执行更复杂的任务。
在 GAS 中,您可以创建称为 可安装触发器 的东西,您可以设置它以在一定时间间隔内定期运行。
以下是我编写上传csv数据脚本的基本布局:
function timedTrigger() {
var baseballScoresFileId = "123231jshu231731";
var donutPricesFileId = "984732ageyn555646";
var ss = SpreadsheetApp.openById("the spreadsheet id");
var baseballSheet = ss.getSheetByName("Baseball Scores");
var donutsSheet = ss.getSheetByName("Donuts Scores");
printCsvData(baseballScoresFileId, baseballSheet, 1, 1);
printCsvData(donutPricesFileId, donutsSheet, 5, 2);
}
function printCsvData(fileId, sheet, row, col) {
var data = DriveApp.getFileById(fileId).getBlob().getDataAsString();
var values = parseCsvData(data);
sheet.getRange(row, col, values.length, values[0].length).setValues(values);
}
function parseCsv(string) {
var values = [];
return values;
}
我不太确定你的CSV文件格式是怎样的,但我最好的猜测是:
function parseCSV(string) {
return string.split("\n").map(function (row) {
return row.split(",");
});
}
您可能需要担心多余的空格。
如果您不熟悉JavaScript或编程,这将是一个很好的学习机会。但是,如果加载csv文件不是迫切需要,请注意学习如何设置脚本可能需要5-20个小时。无论哪种方式,祝您好运!