Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >谷歌表APIv4获取空细胞

谷歌表APIv4获取空细胞
EN

Stack Overflow用户
提问于 2016-07-18 09:25:03
回答 11查看 14.9K关注 0票数 25

我有一个googlesheet,其中列中可能不包含任何信息。在迭代行和查看该列时,如果该列为空,则不会返回任何内容。更糟糕的是,如果我做了一个整行的获取,并包含了这个常见的,比如get 5列,那么当其中任何一列为空时,我只返回4列。如果得到一行列,而列中的一个单元格为空,如何返回空字符串或空字符串?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Build a new authorized API client service.
Sheets service = GoogleSheets.getSheetsService();
range = "Functional Users!A3:E3";
response = service.spreadsheets().values().get(spreadsheetId, range).execute();
values = response.getValues();
cells = values.get(0);

我在这一排里有5个牢房。cells.size()应该始终返回5。但是,如果5个单元格中的任何一个为空白,则返回的单元格将减少。假设只有B3上的单元格是空的。cells.size()将是4。下一次迭代,我得到A4:E4,单元格D4为空。同样,cells.size()将是4,无法知道缺少哪个单元格。如果A4、D4和E4为空,则cells.size()将为2。

如何使它返回5个单元格而不考虑空单元格?

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2016-07-19 17:41:47

我涉足过Sheetsv4,这确实是在读取包含空数据的一系列单元格时的行为。看来这就是它的设计方式。如读取数据文档所述

省略空尾随行和列。

所以,如果你能找到一种方法来写一个表示“空值”的字符,比如零,那么这就是一种方法。

票数 16
EN

Stack Overflow用户

发布于 2016-11-02 07:50:50

我解决这个问题的方法是将值转换为Pandas数据。我在Google页面中获取了我想要的特定列,然后将这些值转换为Pandas。一旦我把数据集转换成Pandas数据格式,我就做一些数据格式化,然后将数据转换回列表。通过将列表转换为Pandas dataframe,将保留每一列。熊猫已经为空的尾随行和列创建了空值。但是,为了保持一致性,我还需要转换具有空值的非尾随行。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Authenticate and create the service for the Google Sheets API
credentials = ServiceAccountCredentials.from_json_keyfile_name(KEY_FILE_LOCATION, SCOPES)
http = credentials.authorize(Http())
discoveryUrl = ('https://sheets.googleapis.com/$discovery/rest?version=v4')
service = discovery.build('sheets', 'v4',
    http=http,discoveryServiceUrl=discoveryUrl)

spreadsheetId = 'id of your sheet'
rangeName = 'range of your dataset'
result = service.spreadsheets().values().get(
    spreadsheetId=spreadsheetId, range=rangeName).execute()
values = result.get('values', [])

#convert values into dataframe
df = pd.DataFrame(values)

#replace all non trailing blank values created by Google Sheets API
#with null values
df_replace = df.replace([''], [None])

#convert back to list to insert into Redshift
processed_dataset = df_replace.values.tolist()
票数 19
EN

Stack Overflow用户

发布于 2018-11-20 09:49:38

我在使用sheets的V4时也遇到了同样的问题,但是在范围的末尾使用了一个额外的列和values.get api的valueRenderOption参数来解决这个问题。

给定三列,A、B和C,其中任何一列都可能包含空值,添加一个额外的列D,并在这里添加一个任意值,如“空白”。

确保捕获范围内的新列并添加附加参数,

valueRenderOption: 'FORMATTED_VALUE'

您应该得到一个类似于以下内容的调用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sheets.spreadsheets.values.get({
  spreadsheetId: SOME_SHEET_ID,
  range: "AUTOMATION!A:D",
  valueRenderOption: 'FORMATTED_VALUE'
}, (err, res) => {})

这将为每个值提供一个一致的长度数组,在空单元格值的位置返回一个空字符串"“。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38442634

复制
相关文章
python读取excel表,获取空单元格,报错还是获取到空字符串?
原因:excel开辟内存空间是 按照矩形的区域,长是最长的列,高是最多的行。即使用户没有输入某些单元格,但是excel也会默认用空字符串进行填充。
我去热饭
2022/05/18
6090
python读取excel表,获取空单元格,报错还是获取到空字符串?
python sqlite 获取表名、表
# -*- coding: UTF-8 -*- import sqlite3 import pprint def sqlite_read(): """python读取sqlite数据库文件 """ mydb = sqlite3.connect('data.sqlite') # 链接数据库 cur = mydb.cursor() # 创建游标cur来执行SQL语句 # 获取表名 cur.execut
py3study
2020/01/09
2.8K0
python获取mysql表信息
使用python获取mysql相关信息,使用python执行mysql相关语句 test1
py3study
2020/01/07
2.4K0
Redhat6中获取LANG值为空
首先来描述一下我遇到的问题:如下图所示在我们产品中,服务脚本放置在目录/etc/init.d中,在用命令 "service xxx start" 后,脚本中启动应用程序ice_main,ice_main进程中使用命令 "locale" 来获取当前所使用的语言。但是获取的LANG的值为空......
河边一枝柳
2021/08/06
4K0
mssql 获取表空间大小
create table #Data(name varchar(100),row varchar(100),reserved varchar(100),data varchar(100),index_size varchar(100),unused varchar(100)) declare @name varchar(100) declare cur cursor for select name from sysobjects where xtype='u' order by name
阿新
2018/04/09
1.9K0
MySql获取所有表名
如何获取MySql中所有表的的表名?  sql语句是:show tables 返回结果如下: 不仅仅返回了所有的表名,更返回了视图的名字。
码农阿宇
2018/04/18
7.3K0
MySql获取所有表名
如何查询SqlServer中所有表的数据行数,并且显示所有空表非空表
INNER JOIN sys.partitions B ON A.object_id = B.object_id
静谧的小码农
2019/04/25
4.5K0
conn.setRequestProperty_session.getattribute获取的值为空
项目中碰到调用其他厂家的接口,厂家不仅提供了接口文档还提供了调用基类,但是使用厂家提供的基类调用其服务却失败。看了源码之后发现是connection.setRequestProperty("host","xxxx")没有设置成功,导致厂家不能识别到host的值。
全栈程序员站长
2022/11/04
1.9K0
Umi4获取不到props,默认为空对象
升级到 Umi4 后,有同事和我反映,之前的一些组件不能用了,获取不到 props ,props 是空对象。
德顺
2023/08/25
8050
Umi4获取不到props,默认为空对象
兰空图床的token获取的bug修复
pro版获取tonken的方式比较麻烦,发现了灵感乌托邦写的一篇【给兰空图床添加一个后台获取Tonken功能】
听闻所见
2023/08/02
7810
兰空图床的token获取的bug修复
Umi4获取不到props,默认为空对象
升级到 Umi4 后,有同事和我反映,之前的一些组件不能用了,获取不到 props ,props 是空对象。
德顺
2022/09/26
1.9K1
Umi4获取不到props,默认为空对象
Mysql 获取表的comment 字段
查看获取表内字段注释: > show full columns from tablename; 或是  show full fields from tablename; 或是,在元数据的表里面看 Select COLUMN_NAME 列名, DATA_TYPE 字段类型, COLUMN_COMMENT 字段注释 from INFORMATION_SCHEMA.COLUMNS Where table_name = 'companies'##表名 AND table_schema = 'testhuicard'##数据库名 AND column_name LIKE 'c_name'##字段名 查看表注释的方法: > show  create  table  tablename; 获取整个数据库的所有表信息(包含表名,表注释,表类型等等): > SELECT table_name, table_type, engine -> FROM information_schema.tables -> WHERE table_schema = 'db5' //table_schema是数据库名 -> ORDER BY table_name DESC; //该语句请求按逆向字母顺序列出数据库db5中的所有表,但仅显示三种信息:表名,表类型,以及表引擎。 INFORMATION_SCHEMA是信息数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息. > SELECT TABLE_COMMENT FROM INFORMATION_SCHEMA.TABLES  WHERE TABLE_NAME = 'sh_goods' AND TABLE_SCHEMA = 'sh_shop';//获取sh_shop 数据库中 sh_goods 表 的注释。 获取表注释或是 或者使用:show table status; Comment 就是表注释。 修改表的注释: alter table test1 comment '修改后的表的注释'; 修改字段的注释: alter table test1 modify column field_name int comment '修改后的字段注释'; 
ydymz
2018/09/10
5.9K0
[打造自己的监控系统之执行Oracle命令]获取Oracle表的分析时间
上节讲到如何建立一个Oracle命令的界面,并显示数据库文件的创建时间,这节讲如何查看指定表的分析时间
bsbforever
2020/08/19
1K0
原生Jdbc获取库、表、字段
PrepatedStatement:SQL 语句被预编译并存储在此对象中,可以使用此对象多次高效地执行该语句。
ha_lydms
2023/08/10
4330
原生Jdbc获取库、表、字段
谷歌离线地图Api附获取教程[通俗易懂]
三版离线Api下载链接:https://pan.baidu.com/s/1ei6tyLKTHMIGdDuowqQW6Q 提取码:x1va
全栈程序员站长
2022/11/08
3.5K0
谷歌离线地图Api附获取教程[通俗易懂]
解决Oracle11g空表无法导出的问题[通俗易懂]
Oracle11g 新增參数deferred_segment_creation ,建库的时候默认值为true,意思是延时载入,当表中不存在数据的时候,不为这个表创建空间,当你导出的时候会发现非常多表不存在
全栈程序员站长
2022/07/10
8030
解决Oracle11g空表无法导出的问题[通俗易懂]
jdbc获取数据库表结构
public void getTables(Connection con, String catalog, String schemaPattern, String tableNamePattern)
路过君
2023/02/14
1.4K0
C/C++ 获取 PE 文件导出表
得到特定PE文件内的导出表信息,并输出。 // 内存偏移转文件偏移 int rva_to_raw(PIMAGE_SECTION_HEADER pSection,int nSectionNum,int nRva) { int nRet = 0; // 遍历节区 for (int i=0;i<nSectionNum;i++){ // 导出表地址在这个节区内 if (pSection[i].VirtualAddress <= nRva && nRva < pSection[i+1].Virtual
微软技术分享
2022/12/28
7070
C/C++ 获取 PE 文件导出表
jdbc事物描述_jdbc获取表结构
注意 若Connection没有被关闭,还有可能被重复使用,则需要恢复其自动提交状态。尤其是在使用数据库连接池技术的时候。
全栈程序员站长
2022/09/21
6330
jdbc事物描述_jdbc获取表结构
点击加载更多

相似问题

使用APIv4在谷歌工作表中过滤(谷歌应用程序脚本)

118

请求为谷歌分析报告apiv4

14

谷歌数据表跨多张单细胞数

15

检测空细胞

23

空UITableView细胞

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文