Добавить CSV-файл в Google лист

#python #google-sheets #google-sheets-api #gspread

Вопрос:

Я пытаюсь добавить этот CSV-файл после последней строки с данными в этом листе Google. Но я могу только перезаписать существующие данные.

 
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"]

credentials = ServiceAccountCredentials.from_json_keyfile_name(
    'key.json', scope)
client = gspread.authorize(credentials)

spreadsheet = client.open('upload_data')

with open('gmt2.csv', 'r') as file_obj:
    content = file_obj.read()
    client.import_csv(spreadsheet.id, data=content)

 

Ответ №1:

При import_csv использовании создается впечатление, что электронная таблица перезаписывается данными CSV. Я подумал, что это может быть причиной вашей проблемы. В вашей ситуации, как насчет использования append_rows метода? Когда ваш сценарий изменяется, он становится следующим.

Измененный сценарий:

 client = gspread.authorize(credentials)

# I modified below script.
sheetName = "Sheet1" # Please set the sheet name you want to append the CSV data.
spreadsheet = client.open('upload_data')
worksheet = spreadsheet.worksheet(sheetName)
content = list(csv.reader(open('gmt2.csv')))
worksheet.append_rows(content, value_input_option="USER_ENTERED")
 
  • В данном случае import csv используется.

Рекомендации: