如何使用 Python import csv 删除或更新 Google 电子表格?
How can I delete or update Google spreadsheet using Python import csv?
我正在处理我的 Python 脚本,现在我的脚本可以将 csv 导入电子表格,但我必须修改它以替换或删除已导入的旧电子表格并将其更新到最新版本csv,因为目前我的脚本只能在 csv 文件上上传和正常粘贴数据。我需要修改我的脚本什么?
我的脚本
def export_csv(o_csv, sheet_id):
with open(o_csv, 'r') as csv_file:
csvContents = csv_file.read()
body = {
'requests': [{
'pasteData': {
"coordinate": {
"sheetId": sheet_id,
"rowIndex": "0",
"columnIndex": "0",
},
"data": csvContents,
"type": 'PASTE_NORMAL',
"delimiter": ',',
}
}]
}
我相信你的目标如下。
sheet_id
的sheet清空后,想把CSV数据放到sheet_id
的sheet中。
- 您想使用 python 的 gspread 实现此目的。
这样的话,下面的修改怎么样?
发件人:
body = {
'requests': [{
'pasteData': {
"coordinate": {
"sheetId": sheet_id,
"rowIndex": "0",
"columnIndex": "0",
},
"data": csvContents,
"type": 'PASTE_NORMAL',
"delimiter": ',',
}
}]
}
收件人:
body = {
"requests": [
{"updateCells": {"range": {"sheetId": sheet_id}, "fields": "*"}}, # Added
{
"pasteData": {
"coordinate": {
"sheetId": sheet_id,
"rowIndex": "0",
"columnIndex": "0",
},
"data": csvContents,
"type": "PASTE_NORMAL",
"delimiter": ",",
}
},
]
}
- 在这种情况下,通过向您的请求正文添加一个请求,
sheet_id
的 sheet 被清除。并且,在 sheet 被清除后,放入 CSV 数据。这样,这个请求可以通过一次 API 调用完成。
- 在这种情况下,
fields
使用 *
。如果要控制清除内容,请修改这里。
参考文献:
我正在处理我的 Python 脚本,现在我的脚本可以将 csv 导入电子表格,但我必须修改它以替换或删除已导入的旧电子表格并将其更新到最新版本csv,因为目前我的脚本只能在 csv 文件上上传和正常粘贴数据。我需要修改我的脚本什么?
我的脚本
def export_csv(o_csv, sheet_id):
with open(o_csv, 'r') as csv_file:
csvContents = csv_file.read()
body = {
'requests': [{
'pasteData': {
"coordinate": {
"sheetId": sheet_id,
"rowIndex": "0",
"columnIndex": "0",
},
"data": csvContents,
"type": 'PASTE_NORMAL',
"delimiter": ',',
}
}]
}
我相信你的目标如下。
sheet_id
的sheet清空后,想把CSV数据放到sheet_id
的sheet中。- 您想使用 python 的 gspread 实现此目的。
这样的话,下面的修改怎么样?
发件人:
body = {
'requests': [{
'pasteData': {
"coordinate": {
"sheetId": sheet_id,
"rowIndex": "0",
"columnIndex": "0",
},
"data": csvContents,
"type": 'PASTE_NORMAL',
"delimiter": ',',
}
}]
}
收件人:
body = {
"requests": [
{"updateCells": {"range": {"sheetId": sheet_id}, "fields": "*"}}, # Added
{
"pasteData": {
"coordinate": {
"sheetId": sheet_id,
"rowIndex": "0",
"columnIndex": "0",
},
"data": csvContents,
"type": "PASTE_NORMAL",
"delimiter": ",",
}
},
]
}
- 在这种情况下,通过向您的请求正文添加一个请求,
sheet_id
的 sheet 被清除。并且,在 sheet 被清除后,放入 CSV 数据。这样,这个请求可以通过一次 API 调用完成。 - 在这种情况下,
fields
使用*
。如果要控制清除内容,请修改这里。