Bonjour à tous,

J'espère que ce post est au bon endroit :)

Je touche à la fin de mon but qui est de télécharger automatiquement des .csv disponibles sur un site protégé par un mot de passe, de combiner tous ces .csv en un seul puis de feed automatiquement une feuille de calcul Google Sheet avec les infos dans mon .csv combiné.

J'ai réussi à tout combiner dans un seul .csv et d'un autre côté à me connecter à l'API Google Sheet pour y insérer les lignes que je veux (en tapant les mots que je souhaite insérer).

En revanche, je n'arrive pas à faire en sorte que mon programme lise le .csv combiné puis le rebalance automatiquement sur Google Sheet :(

Est-ce que quelqu'un à une idée sur comment faire ? je suis sûr que c'est simple, j'ai du regarder 40 vidéos youtubes mais c'est toujours des tutos pour ajouter des chiffres tapés à la mains sur un Gsheet

Voici mon code pour combiner tous les csv. puis lire uniquement les datas qui m'intéressent (à noter que le .csv est toujours en format "une seule colonne"):

********************************
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
 
import os
import glob
import pandas as pd
import csv
 
os.chdir("/Users/paul/Downloads")
 
extension = 'csv'
all_filenames = [i for i in glob.glob('*.{}'.format(extension))]
 
#combine all files in the list
combined_csv = pd.concat([pd.read_csv(f) for f in all_filenames ])
#export to csv
combined_csv.to_csv("combined_csv.csv", index=False, encoding='utf-8-sig')
 
 
with open('combined_csv.csv', encoding='utf8') as csv_file:
    tracking_numb = csv.DictReader(csv_file)
    print(tracking_numb)
    for tracking_numb in tracking_numb:
        print(tracking_numb['\ufeff\ufeffWaybill Number'], tracking_numb['Shipment Date'],tracking_numb['Recipient Country'], tracking_numb['Delivery Option'])
********************************

Voici mon code si je veux rentrer ("I NEED HELP") sur ma google sheet :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
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"]
 
creds = ServiceAccountCredentials.from_json_keyfile_name("creds.json", scope)
 
client = gspread.authorize(creds)
 
sheet = client.open("Python").sheet1
 
data = sheet.get_all_records()
 
row = sheet.row_values(3)
col = sheet.col_values(3)
cell = sheet.cell(1,2).value
 
insertRow = ["I", "NEED", "HELP"]
sheet.insert_row(insertRow, 2)
********************************

Je suis sûr d'être près du but !!



<config>Macintosh / Chrome 86.0.4240.111</config>