# Markdown-Tabellen aus Obsidian in Excel konvertieren - mit Beautiful Soup
Es gibt verschiedene Möglichkeiten, einen Baum zu fällen. Man kann sich an ihm abarbeiten und irgendwann ist er gefällt, oder man nimmt sich Zeit zum Schärfen der Axt und fällt den Baum mit wenigen Schlägen.
In meinem aktuellen Auftrag muss ich aufwendige Excel-Tabellen mit Text füllen und abstimmen. Das ist fehleranfällig und meine Freigabepartner*innen finden es eigentlich auch unübersichtlich. Deshalb bereite ich alles in [Obsidian](https://obsidian.md/) vor und benutze das [Excel-to-Markdown-Plugin](https://github.com/ganesshkumar/obsidian-excel-to-markdown-table) sowie das [Advanced-Table-Plugin](https://github.com/tgrosinger/advanced-tables-obsidian), um die Arbeit einfacher zu gestalten.
Heute stellte sich die Frage, wie ich die Markdown-Tabelle zurück in Excel bekomme. Mit Hilfe meines virtuellen Praktikanten, ChatGPT, habe ich ein Python-Skript entwickelt, das Markdown-Dokumente in einem festgelegten Ordner automatisch in Excel-Dateien umwandelt und dabei die Zeilenformatierung beibehält. Dadurch kann ich meine Texte in Markdown schreiben und nach der Übersetzung einfacher bearbeiten. Ich hoffe, dass sich der Aufwand lohnt.
Der Workflow sieht dann so aus:
![Von Excel to Obsidian und zurück. Mein Workflow](/images/excel-obsidian.png)
Damit ich es nicht vergesse (und vielleicht hilft es ja jemanden da draußen im Netz), hier ist das python script. Ich musste viele Iterationen laufen lassen, bis es klappte. Letztlich wird „Beautiful Soup“ dafür eingesetzt.
```
import os
import pandas as pd
import numpy as np
import openpyxl
from bs4 import BeautifulSoup
def markdown_to_excel_with_linebreaks(md_filepath, excel_filepath):
# Ein DataFrame aus der Markdown-Datei erstellen
df = pd.read_csv(md_filepath, sep='|', quotechar='"', encoding='utf-8', skipinitialspace=True)
# Nur die Spalte mit den Textdaten behalten
df = df.iloc[:,1:2]
# Die
und