Partage
  • Partager sur Facebook
  • Partager sur Twitter

Importer un fichier excel dans un tableau excel

Et à un endroit précis

    21 mars 2024 à 16:09:31

    Bonjour à tous,

    J'ai beau chercher, je ne trouve pas la solution. Je cherche à importer une comptabilité dans un tableau Excel, dans l'onglet dédié (collé à partir de la cellule F51).

    path = r'C:\Users\POPOL\OneDrive\A) Personnel\Auto\SB\SB au ' +e+'/'+e+'_XXX_SB.xlsx'
    path2 = r'C:\Users\POPOL\OneDrive\A) Personnel\Auto\ '+e+'_TotalCompta.csv'
    SB = ox.load_workbook(path) #j'ouvre une variable dans laquelle je mets mon tableur SB
    Compta = list(SB['comptabilite']) #compta est désormais une liste qui contient l'onglet 'comptabilite' de mon fichier Excel 'SB'

    Le point maintenant ce serait de coller la valeur du fichier Total compta (accessible avec path2) dans la cellule F51 de mon tableau (onglet comptabilite) de façon à ne pas bousiller mes formules.

    Le truc c'est que je navigue entre openpyxl (tableur) et des tableaux Panda... bref je nage.

    Auriez-vous des idées ?

    Merci d'avance,

    • Partager sur Facebook
    • Partager sur Twitter
      21 mars 2024 à 16:58:44

      Je suis pas sûr d'avoir tout compris,

      Pour résumé,

      • Lire le fichier CSV en utilisant pandas. Cela vous permettra de manipuler les données avant de les insérer dans le fichier Excel.
      • Ouvrir le fichier Excel avec openpyxl et sélectionner l'onglet comptabilite.
      • Coller les données du fichier CSV à partir de la cellule F51 de l'onglet comptabilite sans écraser les formules existantes.

      Une proposition rapide,

      import pandas as pd
      import openpyxl as ox
      
      path = r'C:\Users\POPOL\OneDrive\A) Personnel\Auto\SB\SB au ' +e+'/'+e+'_XXX_SB.xlsx'
      path2 = r'C:\Users\POPOL\OneDrive\A) Personnel\Auto\ '+e+'_TotalCompta.csv'
      
      df = pd.read_csv(path2)
      
      wb = ox.load_workbook(path)
      sheet = wb['comptabilite']
      
      start_row = 51
      start_col = 'F'
      
      for index, row in df.iterrows():
          for col, value in enumerate(row):
              col_letter = openpyxl.utils.get_column_letter(col + openpyxl.utils.column_index_from_string(start_col))
              cell = f"{col_letter}{start_row + index}"
              sheet[cell] = value
      
      wb.save(path)
      



      • Partager sur Facebook
      • Partager sur Twitter

      Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
      La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

        21 mars 2024 à 17:31:02

        Bonjour Fred,

        Merci de votre réponse et de votre proposition, je reviens sur le site vous répondre plus longuement dès que j'aurais essayé ce bout de programme.

        EDIT: Fred, votre proposition fonctionne, vous n'imaginez pas combien cela va aider quotidiennement certains de mes collègues. Merci infiniment.

        -
        Edité par Archibald19 21 mars 2024 à 17:54:46

        • Partager sur Facebook
        • Partager sur Twitter
          21 mars 2024 à 18:21:37

          Archibald19 a écrit:

          EDIT: Fred, votre proposition fonctionne, vous n'imaginez pas combien cela va aider quotidiennement certains de mes collègues. Merci infiniment.

          De rien, par contre prochaine fois mettez votre code entre balises adaptées afin d'avoir une lecture comme vous pouvez le voir sur mon code.

          Puis essayez de montrez ce que vous avez fait (non pas le début du code) mais pour votre problématique et les erreurs indiquées par votre interpréteur.

          C'est en essayant et en observant de ses erreurs qu'on progresse...

          • Partager sur Facebook
          • Partager sur Twitter

          Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
          La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

            21 mars 2024 à 19:48:32

            Archibald19 a écrit:

            EDIT: Fred, votre proposition fonctionne, [...]

            Bonjour,

            Sujet résolu

            Tu peux passer le sujet à "résolu" (bouton en haut à droite du sujet) et cliquer sur les pouces levés des messages qui t'ont aidé⋅e ;)

            • Partager sur Facebook
            • Partager sur Twitter

            Importer un fichier excel dans un tableau excel

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            • Editeur
            • Markdown