如何自动导入&从已上传到我们的Google云端硬盘的CSV中替换Google表格中的数据?

时间:2018-03-08 18:09:51

标签: csv google-sheets google-drive-api google-docs

我们有一些营销软件可以提取电子邮件营销报告,并每周或每月自动将CSV上传到我们的Google云端硬盘中。我们的报告软件无法自动从CSV中提取数据,因此我必须使用Google表格。

如何制作以便在将新CSV上传到云端硬盘上(在此过程中替换旧版CSV)时,我的Google表格会提取新数据并将其替换为旧数据?

1 个答案:

答案 0 :(得分:0)

问题不明确,这意味着有很多变量"对于您的问题,以及您可以实施的各种解决方案,以解决您正在寻找的特定排列。但我会尝试用一些注意事项和建议回答你的问题:

  1. " [A]新的CSV上传到云端硬盘上(在此过程中替换旧的CSV)。"你肯定这是否正在发生?每次上传时,向驱动器说一个hello.csv,它都会添加一个新的hello.csv文件,而不是替换一个具有相同名称的现有文件。您必须拥有一个知道或可以查找原始CSV驱动器文件ID并明确替换文件内容或上传该文件的新版本的应用程序。
  2. 如果您通过这两种技术之一替换原始文件,请通过Drive API跟踪对该文件的更改,这意味着您的应用可以在该文件更新后立即采取措施。请参阅文档中的this page以了解如何检测更改。
  3. OP中的评论提出了另一个SO Q& A的建议,但该解决方案并未解决OP的问题。相反,它会将CSV文件作为Google表格(文件)导入Google云端硬盘 - CSV文件永远不会按照OP进行驱动。此外,OP正在请求的不仅仅是导入。
  4. 然而,话虽如此,OP的最终请求是:" [我的] Google Sheet将提取新数据并将其替换为旧数据。"有两种方法可以做到这一点:
  5. a)最简单/最简单的方法是使用CSV文件中的内容覆盖工作表中的所有现有数据...旧数据,新数据,这并不重要。导入新的CSV文件并创建新的表格文件后,您可以删除旧的CSV和相应的表格。 (新)文件可以与它们的前辈具有相同的名称没问题。为此,构建类似于上面提到的SO Q& A的解决方案 - CSV文件已经在Drive中,因此只需创建一个新的Sheets文件并使用来自Drive上的CSV文件的内容(而不是来自本地文件系统) )。

    b)如果你只想要增量,你需要保留旧CSV和" diff"的副本。它使用新的CSV,只覆盖已更改的行,更复杂的解决方案,以及您必须使用Google Sheets API的行(因为它用于电子表格操作时) Drive API用于文件操作。)