如何使用 python GSPREAD 找到 google 价差 sheet 的第一个空行?
How to find the first empty row of a google spread sheet using python GSPREAD?
我正在努力编写代码来找到 google sheet.
的第一个空行
我正在使用来自 github 的 gspread 包。com/burnash/gspread
如果有人能提供帮助,我会很高兴:)
我目前刚刚导入模块并打开作品sheet
scope = ['https://spreadsheets.google.com/feeds']
credentials = ServiceAccountCredentials.from_json_keyfile_name('ddddd-61d0b758772b.json', scope)
gc = gspread.authorize(credentials)
sheet = gc.open("Event Discovery")
ws = sheet.worksheet('Event Discovery')
我想找到第一个空行的第1158行sheet有一个函数,这意味着每次旧的空行被填充时,它会找到下一个空行
See here
我使用以下方法解决了这个问题:
def next_available_row(worksheet):
str_list = list(filter(None, worksheet.col_values(1)))
return str(len(str_list)+1)
scope = ['https://spreadsheets.google.com/feeds']
credentials = ServiceAccountCredentials.from_json_keyfile_name('auth.json', scope)
gc = gspread.authorize(credentials)
worksheet = gc.open("sheet name").sheet1
next_row = next_available_row(worksheet)
#insert on the next available row
worksheet.update_acell("A{}".format(next_row), somevar)
worksheet.update_acell("B{}".format(next_row), somevar2)
def find_empty_cell():
alphabet = list(map(chr, range(65, 91)))
for letter in alphabet[0:1]: #look only at column A and B
for x in range(1, 1000):
cell_coord = letter+ str(x)
if wks.acell(cell_coord).value == "":
return(cell_coord)
我用这个有点草率的函数来找到第一个空单元格。我找不到空行,因为其他列已经有值。
哦,2.7 和 3.6 之间存在一些映射问题,需要我将字母表转换为字符串。
此替代方法解决了已接受答案的问题,方法是考虑可能已跳过值的行(例如文档中花哨的 header 部分)以及对第一个 N[ 进行采样=14=] 列:
def next_available_row(sheet, cols_to_sample=2):
# looks for empty row based on values appearing in 1st N columns
cols = sheet.range(1, 1, sheet.row_count, cols_to_sample)
return max([cell.row for cell in cols if cell.value]) + 1
如果您可以指望您之前的所有行都已填写:
len(sheet.get_all_values()) + 1
会给你第一个空闲行
get_all_values
returns sheet 数据的二维列表。每个嵌套列表都是一行,因此二维列表的长度是包含任何数据的行数。
类似的问题是第一个免费专栏:
from xlsxwriter.utility import xl_col_to_name
# Square 2D list, doesn't matter which row len you check
column_count = len(sheet.get_all_values()[0])
column = xl_col_to_name(column_count)
import pygsheets
gc = pygsheets.authorize(service_file='************************.json')
ss = gc.open('enterprise_finance')
ws = ss[0]
row_count = len(ws.get_all_records()) + 2
ws.set_dataframe(raw_output,(row_count,1), copy_index = 'TRUE', copy_head = 'TRUE')
ws.delete_rows(row_count , number=1)
我正在努力编写代码来找到 google sheet.
的第一个空行我正在使用来自 github 的 gspread 包。com/burnash/gspread
如果有人能提供帮助,我会很高兴:)
我目前刚刚导入模块并打开作品sheet
scope = ['https://spreadsheets.google.com/feeds']
credentials = ServiceAccountCredentials.from_json_keyfile_name('ddddd-61d0b758772b.json', scope)
gc = gspread.authorize(credentials)
sheet = gc.open("Event Discovery")
ws = sheet.worksheet('Event Discovery')
我想找到第一个空行的第1158行sheet有一个函数,这意味着每次旧的空行被填充时,它会找到下一个空行 See here
我使用以下方法解决了这个问题:
def next_available_row(worksheet):
str_list = list(filter(None, worksheet.col_values(1)))
return str(len(str_list)+1)
scope = ['https://spreadsheets.google.com/feeds']
credentials = ServiceAccountCredentials.from_json_keyfile_name('auth.json', scope)
gc = gspread.authorize(credentials)
worksheet = gc.open("sheet name").sheet1
next_row = next_available_row(worksheet)
#insert on the next available row
worksheet.update_acell("A{}".format(next_row), somevar)
worksheet.update_acell("B{}".format(next_row), somevar2)
def find_empty_cell():
alphabet = list(map(chr, range(65, 91)))
for letter in alphabet[0:1]: #look only at column A and B
for x in range(1, 1000):
cell_coord = letter+ str(x)
if wks.acell(cell_coord).value == "":
return(cell_coord)
我用这个有点草率的函数来找到第一个空单元格。我找不到空行,因为其他列已经有值。
哦,2.7 和 3.6 之间存在一些映射问题,需要我将字母表转换为字符串。
此替代方法解决了已接受答案的问题,方法是考虑可能已跳过值的行(例如文档中花哨的 header 部分)以及对第一个 N[ 进行采样=14=] 列:
def next_available_row(sheet, cols_to_sample=2):
# looks for empty row based on values appearing in 1st N columns
cols = sheet.range(1, 1, sheet.row_count, cols_to_sample)
return max([cell.row for cell in cols if cell.value]) + 1
如果您可以指望您之前的所有行都已填写:
len(sheet.get_all_values()) + 1
会给你第一个空闲行
get_all_values
returns sheet 数据的二维列表。每个嵌套列表都是一行,因此二维列表的长度是包含任何数据的行数。
类似的问题是第一个免费专栏:
from xlsxwriter.utility import xl_col_to_name
# Square 2D list, doesn't matter which row len you check
column_count = len(sheet.get_all_values()[0])
column = xl_col_to_name(column_count)
import pygsheets
gc = pygsheets.authorize(service_file='************************.json')
ss = gc.open('enterprise_finance')
ws = ss[0]
row_count = len(ws.get_all_records()) + 2
ws.set_dataframe(raw_output,(row_count,1), copy_index = 'TRUE', copy_head = 'TRUE')
ws.delete_rows(row_count , number=1)