读取来自GitHub的CSV文件到Google表格中。

huangapple go评论72阅读模式
英文:

Read a CSV from GitHub to Google sheets

问题

类似于这个,我希望可以直接将存储在GitHub仓库中的CSV格式数据读入Google表格。

相关数据示例在这里。当我告诉Google表格从这个URL导入(原始)数据时,它找不到匹配的文件:读取来自GitHub的CSV文件到Google表格中。

是否可以简单地实现直接导入,或者是否必须使用API来实现呢?

英文:

Similar to this, I wish to read data stored in csv format in a GitHub repository directly into Google sheets.

An example of the data in question is here. When I tell google sheets to import the (raw) data from this url, it finds no matching file: 读取来自GitHub的CSV文件到Google表格中。.

Can a direct import be achieved this simply, or does it necessarily involve using an API?

答案1

得分: 3

在你的情况下,以下模式如何?

模式1:

在这种模式中,使用IMPORTDATA函数。一个示例公式如下。请将该公式放入电子表格的一个单元格中。

=IMPORTDATA("https://raw.githubusercontent.com/emagar/elecRetrns/master/data/pred1964-on.csv")

模式2:

在这种模式中,使用Google Apps脚本。请将以下脚本复制粘贴到电子表格的脚本编辑器中,并运行该脚本。通过这样,检索到的CSV数据将放入活动工作表中。

function myFunction() {
  // 检索CSV数据并解析它。
  const url = "https://raw.githubusercontent.com/emagar/elecRetrns/master/data/pred1964-on.csv";
  const str = UrlFetchApp.fetch(url).getContentText();
  const ar = Utilities.parseCsv(str);

  // 将值放入活动工作表中。
  const sheet = SpreadsheetApp.getActiveSheet(); // 或者使用SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1")
  sheet.getRange(1, 1, ar.length, ar[0].length).setValues(ar);
}

参考资料:

英文:

In your situation, how about the following patterns?

Pattern 1:

In this pattern, IMPORTDATA is used. A sample formula is as follows. Please put this formula into a cell of Spreadsheet.

=IMPORTDATA("https://raw.githubusercontent.com/emagar/elecRetrns/master/data/pred1964-on.csv")

Pattern 2:

In this pattern, Google Apps Script is used. Please copy and paste the following script to the script editor of Spreadsheet and run the script. By this, the retrieved CSV data is put into the active sheet.

function myFunction() {
  // Retrieve CSV data and parse it.
  const url = "https://raw.githubusercontent.com/emagar/elecRetrns/master/data/pred1964-on.csv";
  const str = UrlFetchApp.fetch(url).getContentText();
  const ar = Utilities.parseCsv(str);

  // Put the values into the active sheet.
  const sheet = SpreadsheetApp.getActiveSheet(); // or SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1")
  sheet.getRange(1, 1, ar.length, ar[0].length).setValues(ar);
}

References:

答案2

得分: 1

以下是翻译好的部分:

如果您只需执行一次,这可能会有所帮助 -
您尝试过以下步骤吗:

  1. 此处复制并粘贴数据到记事本
  2. 将记事本文件保存为xyz.csv
英文:

If you have to do that only once, this can be helpful -
Have you tried the following steps:

  1. Copy and paste the data from Here to notepad
  2. Save the notepad file as xyz.csv

huangapple
  • 本文由 发表于 2023年2月19日 01:19:07
  • 转载请务必保留本文链接:https://go.coder-hub.com/75495044.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定