Google 表格 CSV 下载不适用于列中的不同数据类型

Google Sheets CSV download does not work with different data types in column

注意: 包含解决方法。我认为应该为下一个人记录下来。

背景:

我在 Google 表格文档中有一个非常简单的 table。

id start#0.key start#0.value start#1.key start#1.value
Alpha HelpLookup 2002 TitleLookup H.D.1
Beta Colour Red Background 2003

我正在通过下载 url 导出 sheet 的内容: https://docs.google.com/spreadsheets/d/{documentId}/gviz/tq?tqx=out:csv

这是从 url 下载的原始文本字节的副本:

"id","start#0.key","start#0.value","start#1.key","start#1.value"
"Alpha","HelpLookup","2002","TitleLookup",""
"Beta","Colour","","Background","2003"


问题:

注意事项:

似乎是因为此单元格的 'Beta' 值是一个数字,而该列的格式是 'Automatic' 任何字符串值都在导出过程中被删除。

分辨率(不理想)

当我将列的格式更改为“数字 | 纯文本”时,我能够从 CSV 导出中获取所有数据。

这是 url 下载的数据:

"id","start#0.key","start#0.value","start#1.key","start#1.value"
"Alpha","HelpLookup","2002","TitleLookup","H.D.1"
"Beta","Colour","Red","Background","2003"

未对 Google 表格文档进行任何其他更改 - 仅将 'start#1.value' 列的格式更改为“数字 - 纯文本”。

期望:

鉴于我明确要求 'csv' 输出,请参阅 'tqx=out:csv' 90=] 的查询字符串参数,我将从我的 spreadsheet.

中获取所有文本

我和你有一样的经历。在这种情况下,我可以通过更改端点来检索正确的 CSV 数据。

从您可以使用 https://docs.google.com/spreadsheets/d/{documentId}/gviz/tq?tqx=out:csv 将 Spreadsheet 导出为 CSV 的情况来看,我认为您的 Spreadsheet 是公开共享的。如果我的理解是正确的,那么如下更改端点如何?

发件人:

https://docs.google.com/spreadsheets/d/{documentId}/gviz/tq?tqx=out:csv

收件人:

https://docs.google.com/spreadsheets/d/{spreadsheetId}/export?format=csv

或者,如果您想检索特定的 sheet,请使用 gid,如下所示。

https://docs.google.com/spreadsheets/d/{spreadsheetId}/export?format=csv&gid={sheetId}

谢谢@Tanaike。现在我可以去看看其余的代码是否可以“处理”丢失的“:)

导出格式与 'gviz' 版本略有不同。它没有围绕所有字段的 "。 我对田间的'spaces'或'commas'感到好奇,所以我做了一个小测试。

id,start#0.key,start#0.value,start#1.key,start#1.value
Alpha,HelpLookup,2002,"Title,Lookup",H.D.1
Beta,Colour,Red,Back ground,2003

我已经为 Alpha 更改了 'TitleLookup' 字符串以包含一个逗号。然后 'Background' 键,对于 Beta,包含一个 space 看看会发生什么。