这就是我想做的:
data = drive.files().get_media(fileId=fileId).execute()
csvData = [row.split(",") for row in str(data, 'latin-1').split("\n")]
ar = []
temp = []
for i, row in enumerate(csvData):
if "".join(row) != "":
temp.append(row)
else:
ar.append(temp)
temp = []
if i == len(csvData) - 1:
ar.append(temp)
# Create request body for the method of spreadsheets.create of Sheets API. [Tanaike]
sheetsObj = []
for sheet in ar:
tempRow = []
for row in sheet:
tempCol = []
for col in row:
tempCol.append({"userEnteredValue": {"stringValue": col}})
if len(tempCol) != 0:
tempRow.append({"values": tempCol})
if len(tempRow) != 0:
sheetsObj.append({"data": [{"rowData": tempRow}]})
# Request to Sheets API. [Tanaike]
body = {"properties": {"title": "spreadsheetTitle"}, "sheets": sheetsObj}
res = sheets.spreadsheets().create(body=body).execute()
print(res)
我最近问了一个关于通过谷歌API将文件上传到谷歌硬盘的问题。我在代码方面取得了成功,但现在我意识到我需要一个单独的代码,它不是将数据上传到新文件中,而是更新现有的谷歌表单
我一直在与batchUpdate()(https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/batchUpdate)作斗争,因为我不知道如何将sheetsObj的旧解决方案融入其中
这个想法和这里一样:Google docs formatting, converting texts into sheets
我希望用.txt格式的数据更新现有的google sheets文件,但我希望更新现有的google sheets文件,而不是简单地上传并创建新文件
注:有一件奇怪的事情我之前没有注意到:所有的单元格都以'
开头,我正在尝试处理它,但是如果有人在我之前就发现了,请将它包含在解决方案中
您希望使用以下值中的CSV数据更新现有电子表格。这些值来自Google docs formatting, converting texts into sheets
现有电子表格有5张表格,可使用5张表格的CSV数据进行更新
如果我的理解是正确的,那么这个答案呢?请把这看作是几个可能的答案之一
流量:
修改的脚本:
在运行脚本之前,请设置变量
csvFileId
、spreadsheetId
和sheetNames
注:
参考资料:
如果我误解了你的问题,而这不是你想要的方向,我道歉
相关问题 更多 >
编程相关推荐