import pandas as pd
import pygsheets
import gspread
from gspread_dataframe import set_with_dataframe
from google.oauth2.service_account import Credentials
def csv_to_sheets():
tokenPath ='path for service account file.json'
scopes = ['https://www.googleapis.com/auth/spreadsheets',
'https://www.googleapis.com/auth/drive']
credentials = Credentials.from_service_account_file(tokenPath, scopes=scopes)
gc = gspread.authorize(credentials)
gs = gc.open('csv_to_gSheet')
workSheet1 = gs.worksheet('sheet1')
my_csv = pd.read_csv("my csv file path")
my_csv_values = my_csv.values.tolist()
gs.values_append('sheet1', {'valueInputOption': 'RAW'}, {'values': my_csv_values}, range='S:AE')`
csv_to_sheets()
運行以下代碼后,我收到一條錯誤訊息:
TypeError: values_append() got multiple values for argument 'range'
如果我從附加方法中洗掉范圍,那么值將從第一列附加,即。從'A直到資料結束'但不在我想要的列中。來自“S:AE”。此外,如何在第一列中附加日期以及指定范圍內的其余資料。請幫忙。先感謝您。
uj5u.com熱心網友回復:
修改點:
- 似乎 的論點
values_append
是values_append(range, params, body)
。參考我認為這可能是您的問題的原因。
當這在您的腳本中得到反映時,以下修改如何?
從:
gs.values_append('sheet1', {'valueInputOption': 'RAW'}, {'values': my_csv_values}, range='S:AE')
至:
gs.values_append("sheet1!S:AE", {"valueInputOption": "RAW"}, {"values": my_csv_values})
在這個修改中,值
my_csv_values
被附加到列“S”到“AE”的最后一行。如果要將值附加到資料范圍的最后一行,那么下面的修改如何?
從
gs.values_append('sheet1', {'valueInputOption': 'RAW'}, {'values': my_csv_values}, range='S:AE')
至
workSheet1.update("S" str(len(workSheet1.get_all_values()) 1), my_csv_values, value_input_option="USER_ENTERED")
參考:
- values_append(范圍,引數,正文)
- 更新(范圍名稱,值=無,**kwargs)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/533095.html