- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
(初学者)我正在尝试使用 python 将值从一个电子表格复制到另一个电子表格。我正在使用 gspread,但我似乎无法弄清楚如何将第一个电子表格中的值复制到另一个电子表格中。如何使用 python 从第一个电子表格复制值并将其粘贴到另一个电子表格上?
这是更新后的代码:import gspread
from oauth2client.service_account import ServiceAccountCredentials
scope = ['https://spreadsheets.google.com/feeds','https://www.googleapis.com/auth/spreadsheets','https://www.googleapis.com/auth/drive.file','https://www.googleapis.com/auth/drive']
creds = ServiceAccountCredentials.from_json_keyfile_name('sheetproject-956vg2854670.json',scope)
client = gspread.authorize(creds)
spreadsheetId= "1CkeZ8Xw4Xmho-mrFP9teHWVT-unkApzMSUFql5KkrGI"
sourceSheetName = "python test"
destinationSheetName = "python csv"
client = gspread.authorize(creds)
spreadsheet = client.open_by_key(spreadsheetId)
sourceSheetId = spreadsheet.worksheet("python test")._properties['0']. #gid value in the url
destinationSheetId = spreadsheet.worksheet("python csv")._properties['575313690'] #gid value in the url
body = {
"requests": [
{
"copypaste": {
"source": {
"sheetId": 0,
"startRowIndex": 0,
"endRowIndex": 20,
"startColumnIndex": 0,
"endcolumnIndex": 1
},
"destination": {
"sheetId": 575313690,
"startRowIndex": 0,
"endRowIndex": 20,
"startColumnIndex": 0,
"endcolumnIndex": 1
},
"pasteType": "Paste_Normal"
}
}
]
}
res = spreadsheet.batch_update(body)
print(res)
最佳答案
您的要求:
在这个答案中,我想建议使用batch_update
将值从电子表格中的一个工作表复制到另一个工作表。在这种情况下,您的目标可以通过一次 API 调用来实现。
在此示例脚本中,删除了授权脚本。显示了用于将值从电子表格中的一个工作表复制到其他工作表的示例脚本。所以当您使用该脚本时,请添加授权脚本,并运行该脚本。
spreadsheetId = "###" # Please set the Spreadsheet ID.
sourceSheetName = "Sheet1" # Please set the sheet name of source sheet.
destinationSheetName = "Sheet2" # Please set the sheet name of destination sheet.
client = gspread.authorize(credentials)
spreadsheet = client.open_by_key(spreadsheetId)
sourceSheetId = spreadsheet.worksheet(sourceSheetName)._properties['sheetId']
destinationSheetId = spreadsheet.worksheet(destinationSheetName)._properties['sheetId']
body = {
"requests": [
{
"copyPaste": {
"source": {
"sheetId": sourceSheetId,
"startRowIndex": 0,
"endRowIndex": 5,
"startColumnIndex": 0,
"endColumnIndex": 5
},
"destination": {
"sheetId": destinationSheetId,
"startRowIndex": 0,
"endRowIndex": 5,
"startColumnIndex": 0,
"endColumnIndex": 5
},
"pasteType": "PASTE_VALUES"
}
}
]
}
res = spreadsheet.batch_update(body)
print(res)
A1:E5
单元格的值将复制到“Sheet1”工作表中 A1:E5
的单元格“表2”。关于python - 如何使用 gspread 或其他方式将值从一个电子表格复制到另一个电子表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60764039/
我正在尝试编写一个程序来获取我在谷歌电子表格中记录的统计数据,并将它们写入一个文本文件,以便在流中读取和显示。该程序在大多数情况下运行良好,但偶尔会因以下原因而崩溃。这看起来像是一个 oauth 问题
我在谷歌驱动器中有两个文件(两个谷歌表格),我需要以常规模式将数据和格式从一个文件移动到另一个文件。 如下图所示,我需要维护不同的文本格式(粗体、文本颜色等): 我的第一次尝试是:使用 IMPORTR
我想向单元格添加超链接。我正在使用以下代码: cell_values = [1,'=HYPERLINK("' + some_url + '","' + some_text + '")',3] for
我想向单元格添加超链接。我正在使用以下代码: cell_values = [1,'=HYPERLINK("' + some_url + '","' + some_text + '")',3] for
我有一个像这样的谷歌电子表格 A B C D 0 1 2 3 4 5 7 8 9 8 7 6 5 3
我正在尝试使用 GSpread 调整 google 工作表中的列宽,但是我在整个网络上找不到有关该主题的任何文档。我已经尝试过实际的项目文档本身,以及堆栈溢出。 我查看了文档和堆栈溢出,之前没有人问过
在我的应用程序中,我有一堆不在范围内的单元格。目前我正在一一更新,但是需要很多时间。我想通过一个电话来批量更新它们。 我查看了其他一些 SO 线程,例如 this ,但就我而言,单元格不在范围内。 为
我已经能够使用适当的凭据成功连接到 gspread,但是当我尝试打开一个现有文件(在我的谷歌帐户中)时,它失败了。我试过 open() 和 open_by_key()。我假设我的帐户与我刚刚创建的服务
我需要在文件系统上下载 Google 电子表格,我正在使用 Gspread 从 Google 云端硬盘读取文件,效果很好。 我尝试导出为 CSV,但这当然会丢弃格式。 json_key = j
我正在尝试使用 Gspread for Python 合并 Gsheets 中的单元格,但是我找不到任何文档。 我已经使用 gspread_formatting 模块来格式化单元格的文本和颜色,但我找
我正在尝试使用 gspread 库使用 python 读取 google 表格。 初始身份验证设置已完成,我可以阅读相应的表格。 但是当我这样做的时候 sheet.get_all_records()
我刚刚开始使用 Python (v3.8),并尝试将其应用到工作中的实际项目中。我使用了 Google Sheets API 的视频教程,并且能够使用它来操作单元格数据。现在,我尝试使用视频中介绍的语
我使用gspread在Google电子表格上写入数据。它在本地工作正常,但是当我在实时服务器上尝试时,它给了我一个以下错误。 File "/home/openerp10/openerp_7.0/add
我有一个数据列表(从 CSV 中提取),我正在尝试使用 Python/GSpread 更新 Google 文档上的一系列单元格。这是我的代码示例: import gspread def write_s
我当前运行一个守护线程,该线程获取所有单元格值,计算是否有更改,然后在循环中写出依赖单元格,即: def f(): while not event.is_set(): upda
我正在尝试使用Python2.7中的Gspread来检索电子表格。我似乎能够登录,但每当我发出命令时 gc.openall() 它只返回一个空列表。我已授予服务帐户管理员对所有内容的访问权限,并且在我
我正在尝试使用 Gspread 在某个位置插入新列。我找到了 add_cols 方法,但它只插入电子表格的最后一列。 还有其他方法,例如:insert_rows、resize 或 append_row
我正在使用 gspread 更新我的电子表格,这个过程大约需要一个小时,我有大约 200 个电子表格。更新表格大约 30 分钟后,连接断开。有没有办法让登录保持事件状态?我以为我保持连接有效,因为我大
要更新一系列单元格,请使用以下命令。 ## Select a range cell_list = worksheet.range('A1:A7') for cell in cell_list:
我们使用 developers.google.com 创建了 api 用户并将凭据下载为 json 文件。现在在我的 macbook 上,gspread 身份验证在使用 credentials.jso
我是一名优秀的程序员,十分优秀!