Datenvorbereitung
Verfasst: Sonntag 28. Januar 2024, 11:45
Hallo,
ich arbeite aktuell an einem Programm, welches mir Helfen soll, meine Datensätze zu ordnen und in weiterer Folge auszuwerten. Ich habe aktuell ein Programm (siehe unten), welches das Output Excel Dokument von meinem Analysen Gerät bearbeitet um meine Messwerte besser dazustellen.
Folgende Aktionen sollen gemacht werden:
1. EInlesen des .xlsx Dokuments
2. Löschen einiger Zeilen und Spalten
Mein bisheriger Code, welcher bereits wunderbar funktioniert.
Meine Suchen und ersetzen Erweiterung:
Das Suchen und Ersetzen funktioniert zwar, jedoch werden die numerischen Werte als "als Text gespeicherte Zahl" gespeichert? Ich benötige aber numerische Werte was könnte ich in meinem Code abändern, dass nur die "cps" entfernt werden, die Zahlen jedoch erhalten bleiben. Wenn ich die "Suchen und Ersetzen" funktion im Excel benutze funktioniert das mit den numerischen Werten auch, also muss es doch eine Lösung geben?
Vielen Dank im Voraus,
Thomas
Der Link beeinhaltet meinen Testdatensatz, mit den Datensätzen und der modifizierten Datei wie sie dann aussehen soll.
https://mega.nz/folder/QRwlmADT#3YlUKVMtkakeDw6vjiAciA
ich arbeite aktuell an einem Programm, welches mir Helfen soll, meine Datensätze zu ordnen und in weiterer Folge auszuwerten. Ich habe aktuell ein Programm (siehe unten), welches das Output Excel Dokument von meinem Analysen Gerät bearbeitet um meine Messwerte besser dazustellen.
Folgende Aktionen sollen gemacht werden:
1. EInlesen des .xlsx Dokuments
2. Löschen einiger Zeilen und Spalten
Mein bisheriger Code, welcher bereits wunderbar funktioniert.
Code: Alles auswählen
import pandas as pd
import os
def process_excel_file(input_file_path):
try:
# Excel-Datei einlesen
df = pd.read_excel(input_file_path)
# Spalten 'Typ', 'Messdatum' und 'Angabe' löschen
df = df.drop(columns=['Typ', 'Messdatum', 'Angabe'])
# Zeilen löschen und beibehalten gemäß Ihren Anforderungen
start_row = 13
while start_row < len(df):
# 6 Zeilen löschen
df = df.drop(df.index[start_row:start_row+6])
# 11 Zeilen beibehalten
start_row += 11
# Absoluten Pfad für die Ausgabedatei angeben
output_file_path = r"C:\Users\thoma\Desktop\Test\Input_mod.xlsx"
# Das bearbeitete DataFrame speichern
df.to_excel(output_file_path, index=False)
print("Verarbeitung abgeschlossen. Ergebnis in 'Input_mod.xlsx'")
except FileNotFoundError:
print(f"Fehler: Die Datei '{input_file_path}' wurde nicht gefunden.")
except Exception as e:
print(f"Allgemeiner Fehler: {e}")
# Aktuelles Arbeitsverzeichnis nur ausgeben, wenn das Skript direkt ausgeführt wird
if __name__ == "__main__":
input_file_path = r"C:\Users\thoma\Desktop\Test\Input.xlsx" # Pfad zur Input-Datei ersetzen
process_excel_file(input_file_path)
print("Aktuelles Arbeitsverzeichnis:", os.getcwd())
Code: Alles auswählen
import pandas as pd
import os
def process_excel_file(input_file_path):
try:
# Excel-Datei einlesen
df = pd.read_excel(input_file_path)
# Spalten 'Typ', 'Messdatum' und 'Angabe' löschen
df = df.drop(columns=['Typ', 'Messdatum', 'Angabe'])
# Zeilen löschen und beibehalten gemäß Ihren Anforderungen
start_row = 13
while start_row < len(df):
# 6 Zeilen löschen
df = df.drop(df.index[start_row:start_row+6])
# 11 Zeilen beibehalten
start_row += 11
# Ersetzung ab der zweiten Spalte durchführen
for col in df.columns[1:]:
df[col] = df[col].apply(lambda x: str(x).replace('cps', ''))
# Absoluten Pfad für die Ausgabedatei angeben
output_file_path = r"C:\Users\thoma\Desktop\Test\Input_mod.xlsx"
# Das bearbeitete DataFrame speichern
df.to_excel(output_file_path, index=False)
print("Verarbeitung abgeschlossen. Ergebnis in 'Input_mod.xlsx'")
except FileNotFoundError:
print(f"Fehler: Die Datei '{input_file_path}' wurde nicht gefunden.")
except Exception as e:
print(f"Allgemeiner Fehler: {e}")
# Aktuelles Arbeitsverzeichnis nur ausgeben, wenn das Skript direkt ausgeführt wird
if __name__ == "__main__":
input_file_path = r"C:\Users\thoma\Desktop\Test\Input.xlsx" # Pfad zur Input-Datei ersetzen
process_excel_file(input_file_path)
print("Aktuelles Arbeitsverzeichnis:", os.getcwd())
Vielen Dank im Voraus,
Thomas
Der Link beeinhaltet meinen Testdatensatz, mit den Datensätzen und der modifizierten Datei wie sie dann aussehen soll.
https://mega.nz/folder/QRwlmADT#3YlUKVMtkakeDw6vjiAciA