Bonjour à tous,

j'essai depuis quelque temps de generer des tables csv à partir de plusieurs classeur excel.

j'utilise la bibliotheque pandas, mais il y a pas mal de zone nebuleuse pour moi...

j'ai un tableur avec plusieurs onglets, chaque onglet porte le nom d'un fournisseur et contient une liste d'article
j'ai un deuxieme tableur qui contient lui la liste de tout les fournisseurs et en face un code.

le but est de rassembler sur un seul tableur, tout les articles de chaque onglet, en ajoutant en debut de chaque ligne le code fournisseur correspondant à la feuille.

je n'arrive pas à récuperer avec le nom de l'onglet, le code correspondant dnas le deuxieme tableur pour l'ajouter devant chaque ligne du dataframe.
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
24
25
26
 
import pandas as pd
import numpy as np
 
fdcode_fourn=pd.read_excel("codefournisseur.xlsx",engine='openpyxl')
 
excel1="base fournisseur.xlsx"
sheets = pd.ExcelFile('base fournisseur.xlsx', engine='openpyxl').sheet_names
 
excelmod="Mod.xlsx"
dfmod=pd.read_excel(excelmod, engine='openpyxl')
 
dfcomplete=dfmod.copy()
 
 
for sheet in sheets:
    df=pd.read_excel(excel1,sheet_name=sheet,engine='openpyxl')
    code=fdcode_fourn.loc[fdcode_fourn['RS'] == sheet, 'Cde']
    print (type(code))
    df.insert (0, "Cde"," ",allow_duplicates=False)
 
    df.insert(1,'RS',sheet,allow_duplicates=False)
    dfcomplete=pd.concat([dfcomplete,df])
 
 
dfcomplete.to_excel('output.xlsx')