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>
Partager