[PYTHON] Erhöhen Sie die lokale CSV in Google SpreadSheet

Lokale CSV-Daten in Google SpreadSheet Ich wollte es genau geben, also habe ich ein Skript dafür gemacht.

Unten finden Sie eine kurze Einführung und ein Beispielskript

Aktivieren Sie die Google Sheets-API

Siehe hier https://developers.google.com/sheets/api/quickstart/python#step_1_turn_on_the_api_name

Installieren Sie die Google Client Library

Siehe hier https://developers.google.com/sheets/api/quickstart/python#step_2_install_the_google_client_library

Erstellen Sie eine Funktion zur Authentifizierung

Lassen Sie die get_credentials hier https://developers.google.com/sheets/api/quickstart/python#step_3_set_up_the_sample

Was jedoch "SCOPE" betrifft, werden wir es bearbeiten, also ändern Sie es als nächstes "https: // www.googleapis.com / auth / drive"

Stichprobe

def csv2rows(csv_name):
    df = pd.read_csv(csv_name, index_col=False)
    rows = []
    for index, row in df.iterrows():
        values = []
        for c in row:
            values.append({'userEnteredValue': {'stringValue': str(c)}})
        rows.append({'values': values})
    return rows
sheet_index = 1
requests = []

rows =  csv2rows('aaa.csv', header=None)
sheet_title = 'aaa'
sheet_id = sheet_index
requests.append(
    { #Ein Blatt erstellen
      'addSheet': {
        'properties': {
          'title': sheet_title,
          'index': 0,
          'sheetId': sheet_id
        }
      }
    }
)
requests.append(
    { #Aktualisieren Sie mit dem Inhalt von csv, der das erstellte Blatt erworben hat
        'updateCells': {
          'start': {
            'sheetId': sheet_id,
            'rowIndex': 0,
            'columnIndex': 0
          },
          'rows': rows,
          'fields': 'userEnteredValue'
        }
    }
)

credentials = get_credentials()
http = credentials.authorize(httplib2.Http())
discoveryUrl = ('https://sheets.googleapis.com/$discovery/rest?version=v4')
service = discovery.build('sheets', 'v4', http=http, discoveryServiceUrl=discoveryUrl)

spreadsheet_id = '${Beliebige SpreadSheetId}'

batch_update_spreadsheet_request_body = {
  'requests': requests
}

#Ausführung der Anfrage
result = service.spreadsheets() \
                          .batchUpdate(spreadsheetId=spreadsheet_id, body=batch_update_spreadsheet_request_body) \
                          .execute()

Recommended Posts

Erhöhen Sie die lokale CSV in Google SpreadSheet
Was tun, um eine Google-Tabelle in Python zu erhalten?
Schreiben Sie mit Python in csv
Konvertieren Sie SDF schnell in CSV
So verwenden Sie Google Colaboratory