将数据从 Google Drive 中的 CSV 文件导入到 Google Sheet

2024-05-11

我使用 SAS 每 24 小时生成两个 CSV 文件。我使用 bat 脚本将生成的 CSV 文件保存在 Google Drive 的文件夹中。 CSV 文件被替换,因此文件夹中始终只有这两个文件。

CSV 文件以“,”分隔,并且仅包含三列或四列。

我想在 google 工作表和 CSV 文件之间创建直接链接,以便 google 工作表自动更新为最新数字。

我尝试使用“ImportData”功能但没有成功

=IMPORTDATA("https://drive.google.com/file/d/123231jshu231731/edit?usp=sharing")

其中 123231jshu231731 是 file_id。

但我得到的错误是

Result was not automatically expanded, please insert more columns (896).

这没有意义,因为文件只有 3 列

希望有人能更好地解决我的自动化问题

Thanks


将 csv 文件发布到网络

显然IMPORTDATA仅适用于发布到网络的文档。让它为你工作的两种方法是:

  1. 将您的 csv 文件存储在公共 Google 云端硬盘文件夹中 https://productforums.google.com/forum/#!topic/docs/PkCViKt56Wo
  2. 以其他方式在网络上托管您的 csv 文件 - 我想您需要在您的计算机上使用 csv 文件运行服务器。

但是,这涉及将您的 csv 数据公开给连接到互联网的任何人(可能是您不想要的)


保持 csv 文件的私密性

如果您希望数据保持私密性,您可以编写一个脚本来定期将 csv 数据加载到电子表格中。

Google 提供服务调用谷歌应用脚​​本 https://developers.google.com/apps-script/overview(GAS),它允许您用 JavaScript 编写脚本,以在 Google Drive 中执行更复杂的任务。

在 GAS 中,您可以创建称为可安装触发器 https://developers.google.com/apps-script/guides/triggers/installable您可以将其设置为按设定的时间间隔定期运行。

以下是我如何编写上传 csv 数据的脚本的基本布局:

function timedTrigger() {
  // list the csv file ids
  var baseballScoresFileId = "123231jshu231731";
  var donutPricesFileId = "984732ageyn555646";

  // get the spreadsheet by it's id
  var ss = SpreadsheetApp.openById("the spreadsheet id");

  // get the sheets you want to print the data to
  var baseballSheet = ss.getSheetByName("Baseball Scores");
  var donutsSheet = ss.getSheetByName("Donuts Scores");

  // print the data to the first row first columnscript
  printCsvData(baseballScoresFileId, baseballSheet, 1, 1);

  printCsvData(donutPricesFileId, donutsSheet, 5, 2); // prints to B5
}

// This function loads the data from a csv fileId
//   and prints it to the sheet starting at the cell
//   located at (row, col)
// It works just like IMPORTDATA except you specify the row and col in the 
function printCsvData(fileId, sheet, row, col) {
  // get data from file
  var data = DriveApp.getFileById(fileId).getBlob().getDataAsString();

  // parse the csv string into two dimensional array
  var values = parseCsvData(data);

  // print the values into the range starting at row, col
  sheet.getRange(row, col, values.length, values[0].length).setValues(values);
}

// This function converts a string of comma
//   separated values and converts them into
//   a two dimensional array
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 小时来学习如何设置脚本。不管怎样,祝你好运!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将数据从 Google Drive 中的 CSV 文件导入到 Google Sheet 的相关文章

  • Access 2007 不会从 XML 文件导入所有元素数据

    我需要将此 XML 数据导入 Access 中以进行进一步处理 我在这里只复制了一小部分数据
  • BigQuery:从 CSV 加载,跳过列

    假设我有一个包含现有数据的表 其架构如下 name Field1 type STRING name Field2 type STRING 我们的数据是 CSV Field1 Field2 Value1 Value2 我们通过创建新作业来加载
  • Spark 2.1无法在CSV上写入Vector字段

    当我将代码从 Spark 2 0 迁移到 2 1 时 我偶然发现了与 Dataframe 保存相关的问题 这是代码 import org apache spark sql types import org apache spark ml l
  • 通过嵌入式 Google Sheet 上的按钮激活脚本

    我正在尝试嵌入一个 Google 电子表格 其中包含一个我希望用户能够激活的脚本 我不希望他们能够编辑页面上的任何内容 我想我可以这样做 共享工作表并设置编辑权限 限制在我想要共享的一张纸上进行编辑 图像位于单元格上方 所以我认为这会阻止人
  • 无法导入 python-mysqldb

    我使用安装了 python mysqldb sudo apt get install python mysqldb 我尝试使用它但没有成功 以下命令在 Python 提示符下不起作用 import python mysqldb Or imp
  • 带有制表符分隔文本文件的 StreamReader

    我对这篇文章有类似的要求 使用文本文件在运行时填充 Gridview https stackoverflow com questions 13971165 populate gridview at runtime using textfil
  • 清除内容并从另一张纸复制

    我编写了一个脚本 旨在清除 Google Sheets 电子表格的内容并复制并粘贴另一个工作表的内容 需要清除的工作表称为 NEW SHEET 要复制的工作表称为 Database 由于某种原因 该脚本目前无法运行 当我运行它时什么也没有发
  • 将 Python 脚本导入另一个脚本?

    我正在阅读 Zed Shaw 的 艰难学习 Python 正在学习第 26 课 在本课中 我们必须修复一些代码 这些代码从另一个脚本调用函数 他说我们不必导入它们来通过测试 但我很好奇我们将如何做到这一点 课程链接 http learnpy
  • 为什么 Response.Write() 无法将 CSV 文件导出到浏览器?

    我正在尝试将 DataTable 的内容作为 Excel csv 文件导出到用户的浏览器 当我单击 导出 按钮并在调试器中单步执行代码时 一切看起来都在发生 但实际上没有文件发送到浏览器 问题是 我在另一个项目中使用了这个完全相同的代码 并
  • 如何修复 OnChange 脚本,该脚本运行良好,但在修改 Google 表格后停止运行

    概述 工作簿根据每条记录的类别分数计算每条记录 或行 的总体分数 类别分数是通过对每个记录的数百个数据点执行的计算得出的 根据我在网上找到的几个示例和教程 我编译了代码以发送名为 checkComplete 的 onChange 电子邮件
  • 如何在不超时的情况下解析大型 CSV 文件?

    我正在尝试解析 50 MB 的 csv 文件 文件本身很好 但我正在尝试解决所涉及的大量超时问题 每个设置上传明智 我可以轻松上传并重新打开文件 但浏览器超时后 我收到 500 内部错误 我的猜测是我可以将文件保存到服务器上 打开它并保留我
  • XSLT:CSV(或平面文件或纯文本)到 XML

    我正在尝试使用 XSLT 将纯文本文件转换为 XML 文件 我从 CSV 文件开始 因为这是一种众所周知的文件格式 我可以开始在 Google 上搜索示例 我偶然发现了这一点 http ajwelch blogspot com 2007 0
  • Spark SQL如何读取压缩的csv文件?

    我尝试过使用apispark read csv读取带有扩展名的压缩 csv 文件bz or gzip 有效 但在源代码中我没有找到任何可以声明的选项参数codec type 即使在这个link https github com databr
  • CSV 解析 - Swift 4

    我正在尝试解析 CSV 但遇到一些问题 下面是我用来解析 CSV 的代码 let fileURL Bundle main url forResource test application data Sheet 1 withExtension
  • Android Excel CSV 的 MIME 数据类型是什么?

    我尝试了 text csv 甚至 application vnd ms excel 但 Excel 不会显示在选择列表中 很多其他应用程序也可以 void shareCsv Uri uri Context context Intent in
  • maxifs的Google Sheets数组公式[重复]

    这个问题在这里已经有答案了 大家好 我是一名长期支持者 读者 但这是我第一次在 Stackoverflow 上发帖 所以请耐心等待 我正在使用的工作表示例 https i stack imgur com tFQ2n png if E2 If
  • MySQL 查询到 CSV [重复]

    这个问题在这里已经有答案了 有没有一种简单的方法来运行MySQL查询来自linux命令行并以csv格式输出结果 这就是我现在正在做的事情 mysql u uid ppwd D dbname lt lt EOQ sed e s g tee l
  • 对 CSV 文件中的列进行分组并连接另一列的值

    我刚刚开始使用 PowerShell 在任何地方都找不到这个问题的答案 尝试编写一个脚本来导入 CSV 文件并搜索该文件以查看是否有任何名称相同 如果名称相同 我想将所有这些值写在同一行上 并且只显示名称一次 例如 Name Number
  • AWS Athena csv 元数据分隔符在首次查询使用后发生更改

    我想向 athena 查询 s3 csv 文件 源 csv 文件描述 分隔符 system information val1 val2 val3 val4 val5 在此基础上我在 athena 中创建表 Create external t
  • str_getcsv到php中的多维数组

    我有这样的 csv 值 csv data test this thing hi there this is cool dude have fun 我想获取整个 CSV 字符串并将其读入多维数组 以便得到 array array test g

随机推荐

  • 使用 CSS 将 Div 分成 2 列

    我一直在尝试使用 CSS 将 div 分成两列 但我还没有设法让它工作 我的基本结构如下 div div div div div div div div div div div div div div 如果我尝试将右侧和左侧 div 浮动到
  • 使用 d3 进行多级/分组轴标签

    我想知道是否有一种简单的方法可以在 d3 中添加多级 分层 分组轴标签 例如 如果我有一个折线图 其中 x 轴的月份名称跨越多年 那么我还希望将年份作为月份名称下方的标签 因此它看起来像这样 Oct Nov Dec Jan Feb Mar
  • 通过自定义文本更改库存文本中的 WooCommerce 产品可用性

    我想更改库存数量后面的 有库存 文字 我尝试在我的 WordPress php 编辑器中添加此 PHP 代码 但它不起作用 你知道为什么吗 谢谢 add filter woocommerce get availability text bb
  • 通过 id 从通用列表中删除对象

    我有一个像这样的域类 public class DomainClass public virtual string name get set public virtual IList
  • 有效,但未捕获引用错误:当我在控制台中键入数组时未定义数组

    我用 js 制作了一个 Tic Tac Toe 游戏 我有几个数组 一个用于 html td 元素 网格 用于查看它们之前是否被点击过 boolGrid 还有一个用颜色检查结束条件 colorgrid 我使用 var 关键字及其内容在全局范
  • UIToolbar setBackgroundColor 没有完全改变颜色

    我正在尝试设置 a 的背景颜色UIToolBar 我尝试从 IB 的属性检查器中选择颜色 并尝试通过编程方式设置它setBackgroundColor UIColor 两种解决方案都有效 但只是部分有效 颜色与白色混合了大约 50 并且工具
  • WPF MVVM 在窗口关闭时调用 ViewModel Save 方法

    我已经弄清楚如何从我的 ViewModel 关闭窗口 现在我需要从另一侧解决窗口关闭问题 当用户单击窗口的关闭按钮时 我需要在 ViewModel 中触发 Save 方法 我正在考虑将 Command 属性绑定到 Window 的关闭事件
  • *.default不是构造函数,带有导入的js插件

    我尝试创建一个简单的表单验证 并通过示例项目中的纱线链接注册它以测试设置 但这绝对行不通 我不知道如何继续 export default class Proofr constructor console log test 然后生成这个 脚本
  • 如果我只有 apk 文件,如何在 robotsium 中使用 R.id

    我想测试来自游戏市场的应用程序 当我尝试使用时遇到问题 solo clickOnView solo getView cn wps moffice eng R id writer edittoolbar saveBtn cn cn 无法解析为
  • ASP.NET 页面中的 WMV 文件

    如何在 ASP NET 网页中嵌入 WMV 文件 我希望它作为一个播放器可见 而不仅仅是一个链接 是否有 ASP NET 控件可以实现此目的 我在 VS 2008 工具栏上没有看到这个 在帮助中也找不到 我还没有准备好将此网站转移到 Sil
  • 如何将注销的用户重定向到 Java EE/JSF 中的主页? [复制]

    这个问题在这里已经有答案了 我需要只允许登录用户访问我的应用程序的大部分页面 我正在使用 JSF 2 开发 Java 企业应用程序 有谁知道我该怎么做 也许有一个配置文件 我在主页中有一个登录组件 我希望用户在单击页面上除少数项目之外的任何
  • 使用 SP 包中的 SpatialPoints() 转换坐标参考系 (CRS) 以创建空间数据框

    Issue 我有一个形状文件我已将其导入到 R 中 并为正在进行的分析选择了感兴趣的变量 我的最终目标是插值点数据 海豚 ID 获取海面温度 SST 堆栈中每个单独的光栅文件的值70 栅格来自名为 ncin SST 的对象 该对象是使用函数
  • 区分 Web 路由调用与 API 路由调用?

    In my web php文件中 我有一条如下所示的路线 Route get HomeController getFeed 而在我的api php文件中 我有一条如下所示的路线 Route get feeds HomeController
  • OpenCL 与 OpenMP 性能对比 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 是否有研究比较 OpenCL 与 OpenMP 的性能 具体来说 我对使用 OpenCL 启动线程的开销成本感兴趣 例如 如果将域分解
  • Grails:如何查询多对多映射中的对象?

    您好 我有以下域类 class Student int age static hasMany courses Course class Course String name static hasMany students Student 我
  • 有没有一种方法可以非交互地压缩大量提交?

    我正在尝试压缩一系列提交 HEAD 到 HEAD 3 有没有一种快速的方法可以做到这一点 或者我需要使用 rebase interactive 确保你的工作树是干净的 然后 git reset soft HEAD 3 git commit
  • 如何在 iPhone 上使用 glib? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 这几天我正在做一个项目 我的项目中包含了一个第三方库 该库是基于glib的 这真的让我抓狂 大家能告诉我我该怎么办吗 如何在 iPho
  • 用数字填充 asp.net 下拉列表

    一个简单的查询 我想用从 17 到 90 开始的数字填充下拉列表 最后一个数字应该是像 90 而不是 90 这样的字符串 我猜逻辑将使用 for 循环 如下所示 for int a 17 a lt 90 a ddlAge Items Add
  • 我应该把 Py_INCREF 和 Py_DECREF 放在 Python C 扩展中这个块的哪里?

    每当我调用我的函数时 每次调用的内存使用量都会增加大约 10M 所以我认为这里存在一些内存泄漏 PyObject pair PyTuple New 2 item PyList New 0 PyTuple SetItem pair 0 PyI
  • 将数据从 Google Drive 中的 CSV 文件导入到 Google Sheet

    我使用 SAS 每 24 小时生成两个 CSV 文件 我使用 bat 脚本将生成的 CSV 文件保存在 Google Drive 的文件夹中 CSV 文件被替换 因此文件夹中始终只有这两个文件 CSV 文件以 分隔 并且仅包含三列或四列 我