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"
问题:
注意事项:
- 第二行 (Alpha) 的 'start#1.value' 单元格是一个空字符串,而不是 'H.D.1' .
- 第三行(测试版)的 'start#0.value' 单元格是一个空字符串,而不是 'Red' .
似乎是因为此单元格的 '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 看看会发生什么。
注意: 包含解决方法。我认为应该为下一个人记录下来。
背景:
我在 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"
问题:
注意事项:
- 第二行 (Alpha) 的 'start#1.value' 单元格是一个空字符串,而不是 'H.D.1' .
- 第三行(测试版)的 'start#0.value' 单元格是一个空字符串,而不是 'Red' .
似乎是因为此单元格的 '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 看看会发生什么。