WebHU - Programozási kérdések és válaszok

A Python nem fűzi hozzá az adatokat pandákkal az Excel-munkafüzetben

Egy python programot írok, hogy adatokat kérjek le három különböző Excel-munkafüzetből, és egy negyedik munkafüzet különböző lapjaihoz fűzzem azokat, amelyek már léteznek. Bár a kód futtatásakor nincs hiba, és az excel fájl módosításának dátuma is változik, az adatok valójában nem kerülnek hozzá a munkafüzethez. Kérlek, segíts ki:

import pandas as pd
from openpyxl import load_workbook

#reading all three ticket excel sheets
df1 = pd.read_excel("sheet a.xlsx")
df2 = pd.read_excel("sheet b.xlsx")
df3 = pd.read_excel("sheet c.xlsx")

#Creating Panadas Excel writer using xlsxwriter as engine
writer = pd.ExcelWriter(r"main_excel.xlsx", engine = "openpyxl")

writer.book = load_workbook(r"main_excel.xlsx")
writer.sheets = {ws.title: ws for ws in writer.book.worksheets}

#reading existing file
reader = pd.read_excel(r"main_excel.xlsx")

#converting dataframes to xlsxwriter excel object
df1.to_excel(writer, sheet_name ="sheet a", index = False, header = False,startrow=len(reader)+1)
df2.to_excel(writer, sheet_name ="sheet b", index = False, header = False,startrow=len(reader)+1)
df3.to_excel(writer, sheet_name ="sheet c", index = False, header = False,startrow=len(reader)+1)

writer.close()

Az a,b,c lapok neve megegyezik a d lap lapjaival.


  • Itt a kérdésben elfelejtettem megemlíteni az írót.save()-t. Jelen van a programban 27.06.2020

Válaszok:


1

Tehát a kódod működik a rendszeremen.

Először minden excel fájl első lapját húzza ki, majd új lapként hozzáfűzi a main_excel.xlsx fájlhoz, de minden új lap tetején len(reader)+1 üres sorral, ahol a reader a main_excel.xlsx első lapja, a len(reader) pedig a nem üres sorok a lapon. Erre mész?

Ha nem szeretné az üres sorokat, akkor kihagyhatja a meglévő fájl beolvasását, és eldobhatja az startrow argumentumot a .to_excel(...)-ból.

Azt mondja, hogy az a,b,c lapoknak ugyanaz a neve, mint a d-ben, ebben az esetben a main_excel.xlsx a-c lapja felülíródik.

27.06.2020
  • A kódot a következőképpen ellenőriztem és módosítottam: sheets = writer.book.sheetnames reader1 = pd.read_excel(r"main_excel.xlsx", "sheet a") reader2 = pd.read_excel(r"main_excel.xlsx", "sheet b") reader3 = pd.read_excel(r"main_excel.xlsx", "sheet c") df1.to_excel(writer, sheet_name =sheets[0], index = False, header = False,startrow=len(reader1)+1) df2.to_excel(writer, sheet_name =sheets[2], index = False, header = False,startrow=len(reader2)+1) df3.to_excel(writer, sheet_name =sheets[4], index = False, header = False,startrow=len(reader3)+1) writer.save() writer.close() Köszönöm 27.06.2020
  • Új anyagok

    A rádiógomb ellenőrzött eseményének használata a jQueryben
    Ebben a cikkben látni fogjuk, hogyan kell dolgozni a jquery választógombbal ellenőrzött eseményeivel. A választógombok HTML gombok, amelyek segítenek kiválasztani egyetlen értéket egy csoportból...

    Körkörös függőségek megoldása terraformban adatforrásokkal – lépésről lépésre
    Mi az a körkörös függőségek Dolgozzunk egy egyszerű eseten, amikor az SQS-sor és az S3-vödör közötti körkörös függőség problémája van egy egymástól függő címkeérték miatt. provider..

    Miért érdemes elkezdeni a kódolást 2023-ban?
    01100011 01101111 01100100 01100101 — beep boop beep boop Világunk folyamatosan fejlődik a technológia körül, és naponta fejlesztenek új technológiákat a valós problémák megoldására. Amint..

    🎙 Random Noise #2  – Örökbefogadás és hit
    az analitika íratlan világának gondozása Szeretné, hogy ezek a frissítések a postaládájába kerüljenek? Iratkozzon fel itt . "Ha önvezető autókat gyártanak, akkor mi miért ne..

    A legrosszabb politika és prediktív modellek májátültetésre jelöltek számára az Egyesült Államokban
    A máj (vagy óangolul lifer) az emberi test legnehezebb belső szervére utal, amely csendesen működik a nap 24 órájában. Mit csinál a máj? 500 feladatot hajt végre a szervezet egészségének..

    5 webhely, amely 2022-ben fejleszti front-end fejlesztői készségeit
    Frontendmentor.io A tényleges projektek létrehozásával a Frontendmentor.io segítséget nyújt a front-end kódolási képességeinek fejlesztésében. A kódolást azután kezdheti meg, hogy..

    Mikor kell használni a Type-t az interfészhez képest a TypeScriptben?
    A TypeScript a JavaScript gépelt szuperkészlete, amely statikus gépelést ad a nyelvhez. Ez megkönnyíti a robusztus és karbantartható kód írását azáltal, hogy a hibákat a fordítási időben..