无法将数据框中的值附加到google工作表的特定列


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'

如果我从append方法中删除范围,那么值将从第一列中添加。从"A直到数据结束",但不是在列我想ie。从"S: AE"。此外,如何在指定范围内的第一列和其他数据中附加日期。请帮助。提前谢谢你。

修改点:

  • 似乎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(range, params, body)
  • update(range_name, values=None, **kwargs)

相关内容

  • 没有找到相关文章

最新更新