gpt4 book ai didi

python - 如何使用 gspread 或其他方式将值从一个电子表格复制到另一个电子表格?

转载 作者:行者123 更新时间:2023-12-01 20:08:50 25 4
gpt4 key购买 nike

(初学者)我正在尝试使用 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)

最佳答案

您的要求:

  • 您想要将 Google 电子表格中一个工作表中的值复制到其他工作表。
  • 您希望使用 gspread 和 python 来实现此目的。
  • 您已经能够使用 Google Sheets API 获取和输入 Google 电子表格的值。

在这个答案中,我想建议使用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)

注意:

  • 在此示例脚本中,“Sheet1”工作表中 A1:E5 单元格的值将复制到“Sheet1”工作表中 A1:E5 的单元格“表2”。
  • 在本例中,范围由 the GridRange 给出。 .
  • 这是一个简单的示例脚本。请根据您的实际情况进行修改。

引用文献:

关于python - 如何使用 gspread 或其他方式将值从一个电子表格复制到另一个电子表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60764039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com