Mit Python suchen und ersetzen in CSV-Dateien (mit pandas)
Nachdem wir uns im letzten Artikel angeschaut hatten, wie man mit openpyxl
Funktionen Felder in CSV-Dateien mit Werten aus Excel-Dateien ersetzen kann, heute nun die pandas
Implementierung dessen.
Sie nutzt auch openpyxl
zum Einlesen der Excel-Datei, da xlrd
, das bisher von pandas genutzte Modul für Excel-Dateien, den Support für XLSX Formate eingestellt hat.
Die Arbeitsweise des Codes ist recht einfach. pandas liest die Datei, da die Tabelle nicht links oben anfängt, werden die erste Zeile und Spalte ignoriert und die Spalten passend benannt. Dann iterieren wird durch den Dataframe und ersetzen munter…
import pandas as pd path = "python_test.xlsx" df = pd.read_excel(path,engine='openpyxl', sheet_name='Tabelle2',skiprows=1, usecols={1,2},header=None) df = df.rename(columns={1: "Key", 2: "Value"}) with open('Python_test.txt') as input_file: text = input_file.read() for index, row in df.iterrows(): text = text.replace(row['Key'] ,str(row['Value'])) with open('Python_test_output_pd.txt','w') as output_file: output_file.write(text) |