Google Apps Script Utilities.parseCsv() 和替换字符 - �

2024-02-03

我正在开发一个项目,该项目涉及 Google Drive 中的 csv 文件,该文件每分钟左右更新一次新数据。

我构建了一个电子表格仪表板,以使 csv 中的数据更有意义。

我错误地认为我可以使用 Google 电子表格函数 =importdata(url) 将 Google 云端硬盘中的 CSV 中的数据导入到我的 Google 电子表格中,但是,除非我公开 CSV,否则会产生错误。出于安全和隐私原因可行。即使我确实将 CSV 公开并使用 importdata,传入的数据也完全格式错误并且无法使用 - 它看起来与实际的 CSV 完全不同。

importdats(url) 格式错误的数据 https://i.stack.imgur.com/3M1qC.png

我正在尝试编写一个脚本来自动导入 csv 数据,使用 DriveApp 打开 csv 文件,使用 Utilities.parseCsv 将 csv 转换为数据数组,然后使用 setValues 将数据写入工作表。

function importData() {
  var ss = SpreadsheetApp.getActive();
  var file = DriveApp.getFilesByName("Agent Performance.csv")
  var csv = file.next().getBlob().getDataAsString();
  var csvData = Utilities.parseCsv(csv);
  var sheet = ss.getSheetByName('CSV Import TEST');
  for (var i = 0; i < csvData.length; i++) {
    sheet.getRange(i+1, 1, 1, csvData[i].length).setValues(new Array(csvData[i]));
  }
}

问题是我得到的替换字符如下: � 写入工作表的所有数据。太奇怪了。该工作表看起来很正常,但如果您单击一个单元格来查看它的值,编辑栏将包含单元格中的任何文本,但每个字符之间有一个 �。这使得 Google Sheets 中的任何计算都变得不可能。

注意公式栏中的替换字符 https://i.stack.imgur.com/OJ164.png

如果我只是使用 Google Sheets“文件”、“导入”和“替换当前工作表”导入相同的 CSV,数据就会很好。这不是一个好的解决方案,因为我真的希望 CSV 更新和 Google 表格中的仪表板更新之间的延迟不超过几分钟。如果我必须手动上传 CSV,那就违背了系统的目的。

任何帮助将不胜感激。谢谢你!


你检查过文件字符集吗?调用时指定即可getDataAsString(charset) https://developers.google.com/apps-script/reference/base/blob#getDataAsString(String)。尝试这个:

function importData() {
  var ss = SpreadsheetApp.getActive();
  var file = DriveApp.getFilesByName("Agent Performance.csv")
  var csv = file.next().getBlob().getDataAsString('ISO-8859-1'); //note the charset
  var csvData = Utilities.parseCsv(csv);
  //unless you csv has variable amount of columns per line, you should do this
  if(csvData.length > 0) {
    ss.getSheetByName('CSV Import TEST')
      .getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);
  } else
    throw 'Blank file';
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google Apps Script Utilities.parseCsv() 和替换字符 - � 的相关文章

  • 如何将值传递到 HTML 模板侧边栏?

    我的任务是更换一些现有的 Access 数据库 我想知道你们是否可以帮助我 目前 我有一个谷歌表格 https docs google com spreadsheets d 1JS5Iwx60Zk7VL8lYz6Yj7ew4eYPhl2Nk
  • Tweepy StreamListener 到 CSV

    我是 python 新手 我正在尝试开发一个应用程序 使用 Tweepy 和 Streaming API 从 Twitter 检索数据并将数据转换为 CSV 文件 问题是此代码不会创建输出 CSV 文件 也许是因为我应该将代码设置为在实现例
  • 有没有办法将 Google 文档分割成多个 PDF?

    我想在 Google Scripts VBA 代码中复制我为 Word 文档编写的代码 基本上 它通过搜索我插入文档中的标签 将文档 切片 为多个 PDF 文件 目的是允许合唱团使用 forScore 管理乐谱的应用程序 在切片点插入先前注
  • 处理错误“TypeError: Expected tuple, got str”将 CSV 加载到 pandas 多级和多索引 (pandas)

    我正在尝试加载 CSV 文件 这个文件 https drive google com file d 13a eVeSzy6HkhffQw32S57U hm5YCj0 view usp sharing 创建一个多索引多级数据帧 它有5 五 指
  • 脚本在 SpreadsheetApp.openById 上失败 - 需要权限

    我有一个 onOpen 函数 可以在电子表格中创建自定义菜单 它已经工作了一年多 但几天前它停止工作了 当我查看执行记录时 我得到 执行失败 您无权调用 SpreadsheetApp openById 所需权限 https www goog
  • 使用 PHP 代码和 HTML 表单将 Excel (.csv) 导入 MySQL

    我知道还有其他类似的帖子 但每个人都建议直接在 PHPMyAdmin 中将其导入 MySQL 这工作完美 但我需要通过 HTML 表单导入 PHP 到 MySQL 我想要一个收集文件的 HTML 表单 然后将该文件传递给 PHP 脚本 我想
  • 如何将 HTML 表格转换为 csv 格式?

    是否有 HTML 解析器或某些库可以自动将 HTML 表格转换为 CSV 数据行 Here is http www unix com shell programming scripting 45274 html table csv html
  • Python itertools groupby 中令人不安的奇怪行为/错误?

    我在用itertools groupby解析一个短的制表符分隔的文本文件 文本文件有几列 我想做的就是对具有特定值的所有条目进行分组x在特定的列中 下面的代码对名为的列执行此操作name2 寻找变量中的值x 我尝试使用以下方法来做到这一点c
  • 使用 R 下载压缩数据文件、提取并导入 .csv

    我正在尝试使用以下方法从网页下载并提取 csv 文件R 这个问题是重复的使用 R 下载压缩数据文件 提取和导入数据 https stackoverflow com questions 3053833 using r to download
  • java中的csv到pdf文件

    我正在尝试获得一个csv文件解析为pdf 到目前为止我所拥有的内容附在下面 我的问题是这段代码最终出现在 pdf 中的文件在 csv 文件的第一行被截断 我不明白为什么 附示例 本质上我想要一个没有任何操作的 csv 文件的 pdf 版本
  • 测量填写部分的时间 - 谷歌表单

    我正在尝试使用谷歌表单进行研究调查问卷 对于某些部分 我想自动测量用户填写所需的时间 谷歌表单中没有这样的选项 我尝试复制表单源 并用 javascript 填充时间 但它不起作用 跨源问题 未能成功托管复制的表单 如何做到 我如何衡量回答
  • 使用Python处理csv文件时如何跳过标题?

    我正在使用下面引用的代码来使用 Python 编辑 csv 代码中调用的函数构成了代码的上部 问题 我希望下面提到的代码从第二行开始编辑 csv 我希望它排除包含标题的第一行 现在它仅在第一行应用函数 并且我的标题行正在更改 in file
  • 我可以使用 jQuery 的 AJAX 将表单信息提交到 Google Spreadsheets 吗?

    我喜欢能够使用谷歌电子表格 但以视觉方式集成到我的网站中很棘手 所以我想我会重新创建他们的表单 一个简单的剪切 粘贴 通过 AJAX 提交表单 数据将转到电子表格 我可以将我的用户重定向到比谷歌默认的 谢谢你所做的一切 更漂亮的东西你刚刚做
  • 阻止用户在共享的 Google 电子表格中创建新工作表

    我创建了一个电子表格 其中除单个单元格之外的所有工作表都受到保护 无法编辑 用户应该在其中输入搜索值 该搜索值会过滤工作表 我共享了启用编辑功能的电子表格 以实现这一点 但这也使用户能够创建新工作表 这是我想阻止的 也许我没有使用最佳的方式
  • 降低计算精度以加快执行速度

    我有一个数据采集系统 可以进行几分钟的测量并生成一个包含 1000 万行和 10 列的 csv 文件 然后我在Python csv reader 中导入这个csv文件 对获取的数值数据执行一系列操作 但一次 只能 10000行 否则计算机内
  • 无法将包含数据的大型 CSV 文件转换为 mysql 数据库[重复]

    这个问题在这里已经有答案了 如何将大型文本文件转换为mysql数据库 文件大小3GB 1100万行 文件中的每一行都是这样的 1303179444 20 5811 Ahmed Al Emam male ahmed e alemam ahme
  • 将 csv 文件按多列拆分为 panda 数据框

    我有一个包含多列的 tsv 文件 有 10 多列 但对我来说重要的列是名称为 user name shift id url id 的列 我想创建一个数据框 首先根据用户名分隔整个 csv 文件 即只有具有相同用户名的行才会分组在一起 从该块
  • 如何在公式中的 & 之间添加换行符以生成 QR URL

    我正在谷歌表格中创建一个电子表格 用于跟踪财产房间的库存 我使用二维码作为标签 将其放置在房产上 并将与该特定房产的相关信息相关联 我正在使用以下代码 image https chart googleapis com chart chs 2
  • 在 Google 网站中嵌入 Google 电子表格时,Google Apps 脚本可帮助解决错误?

    电子表格 A 是欢迎新移民来到我们小镇的团队的主数据源 它里面有大量非常敏感的数据 不能公开 哪怕是一点点 我们谈论的是孩子的姓名和出生日期以及他们上学的地方 保证电子表格 A 的安全是至关重要的任务 因此 电子表格 B 使用 import
  • 在Java中读取制表符分隔的文件

    我有以下代码来读取 Java 中的制表符分隔文件 while str in readLine null if str trim length 0 continue String values str split t System out p

随机推荐

  • JavaScript 中的数字格式与 C# 类似

    有没有一种简单的方法可以在 JavaScript 中格式化数字 类似于 C 或 VB NET 中可用的格式化方法ToString format provider or String Format 一般来说 在 JavaScript 中设置数
  • 对多个视图控制器中的一个观察者使用 NSNotificationCenter 选择器

    我可以使用选择器吗getUpdate 在多个视图控制器中 我正在注册我的LevelViewController作为双方的观察者GameViewController and WinViewController 后 2 个视图控制器都有一个后退
  • Admob 与 Android:无法解析清单中的 android:configChanges

    我正在尝试使用 Admob 将广告添加到我的 Android 应用程序中 但遇到了困难 Admob 表示需要以下信息logcat E Ads 26043 The android configChanges value of the com
  • ASP.NET Core 3.1:API 控制器中的 User.Identity.Name 为空,但声明名称存在

    我正在将 Identity Server 添加到我现有的项目中 基本上我已经准备好了一切 但是当我向 API 发出请求时 User Identity Name一片空白 但是 那User Identity Claims包含名称声明 我知道通过
  • 如何将 MonoGame 项目模板添加到 MacOS 上的 MonoDevelop?

    根据自述文件 我应该 关闭 MonoDevelop 找到您的 MonoDevelop AppBundle 右键单击它并选择 显示包内容 按 Alt 并将目录 MonoDevelop MonoGame 2 5 拖放到 Contents Mac
  • 逻辑回归的 Statsmodels Anova

    我找到了statsmodels对线性模型进行方差分析测试非常有用 http www statsmodels org dev generated statsmodels stats anova anova lm html statsmodel
  • 使用 selenium 抓取 bet365.com 时出现的最后一个问题

    在社区查找信息后 我在帖子中看到下一个代码直到几天前才起作用 from selenium import webdriver options webdriver ChromeOptions options add argument windo
  • 如何通过ajax将集合/数组发送到mvc操作

    atm 我正在尝试这样 但没有运气 我的 Do 操作为空 var arr 31 17 16 get ids arr function d public ActionResult Do IEnumerable
  • 删除字符串中第一个字符的最快方法

    假设我们有以下字符串 string data temp string 如果我们想删除第一个字符 我们可以通过很多方式做到这一点 例如 data Remove 0 1 data TrimStart data Substring 1 但是 我真
  • 使用 imagegrabscreen 和 Wamp 捕获图像

    我正在尝试使用 imagegrabscreen 捕获本地网页 但我只得到黑色屏幕截图 我尝试了 SO 和其他网站上的问题中的几乎所有解决方案 但没有任何效果 我正在使用并完成以下操作 Windows 7 64 位 瓦普 2 2a 64 位
  • AsNoTracking() 的全局设置?

    原本我相信 context Configuration AutoDetectChangesEnabled false 将禁用更改跟踪 但不是 目前我需要使用AsNoTracking 我所有的 LINQ 查询 对于我的只读层 是否有全局设置来
  • 黑莓 - “您目前没有新通知”

    我正在使用下面的代码 特别是pushMessage方法 向用户显示一些通知 public final class MyApplicationMessageFolder public static final long MyFolderId
  • 如何复制导航栏渐变颜色?

    我一直在尝试复制渐变UINavigationBar用作自定义渐变UIButton同一视图上的子类对象 但是我不明白这些颜色是如何得出的 也就是说 您只需指定一种颜色即可设置UINavigationBar的背景颜色 tintColor 但它创
  • 对 ApplicationTokenProvider.LoginSilentAsync 的调用永远不会返回

    我尝试使用以下代码从本地 PC 连接到 AzureBillingAPI var serviceCreds await ApplicationTokenProvider LoginSilentAsync tenantDomain client
  • 无效捆绑错误 - “需要启动情节提要”

    当我尝试使用 Xcode 将应用程序提交到商店时 我不断收到此错误 错误 ITMS 90475 捆绑包无效 iPad 多任务支持需要在捆绑包 com companyname appname 中启动故事板 有人知道这个错误的真正含义吗 这是因
  • 在 Web 应用程序内部调试控制台应用程序

    有没有办法在 Web 应用程序项目内调试 NET c 控制台应用程序 我希望能够在我的 Web 应用程序中拥有一个控制台应用程序 以便快速测试 而无需使用单独的解决方案 这使我能够快速测试许多服务 而无需创建网页 它允许我毫无问题地添加控制
  • 强制谷歌图片搜索

    我有一个简单的网站 其中顶部内容是一个导航选项卡 带有两个导航列表 Web 和图像 在导航选项卡下 我有一个谷歌自定义搜索搜索元素 栏 Web 选项卡默认选择为 Web 默认情况下 谷歌自定义搜索将搜索网络 有什么方法可以强制它通过 php
  • 无法对 String[] 数组中的文件夹中的文件进行排序

    我的项目是将屏幕记录为图像序列 然后我计划加载所有图像目录以列出并使用计时器逐个图像地查看它们 而不是将其作为视频 但我以错误的顺序获取文件 如下所示 这段代码是从目录加载文件 string array1 Directory GetFile
  • Git + GitHub + Dropbox

    我是新来的git和 GitHub 到目前为止 我成功地设置了我的环境 以便我可以通过git程序 我拥有两台计算机 它们使用 Dropbox 共享文件 这也是我保存我的开发项目的地方 我想知道的是 有没有办法使用git GitHuband完全
  • Google Apps Script Utilities.parseCsv() 和替换字符 - �

    我正在开发一个项目 该项目涉及 Google Drive 中的 csv 文件 该文件每分钟左右更新一次新数据 我构建了一个电子表格仪表板 以使 csv 中的数据更有意义 我错误地认为我可以使用 Google 电子表格函数 importdat