Pandas Bool-Spalte als True/False statt 1/0 in XLSX schreiben
English
Deutsch
Problem:
Beim Schreiben eines Pandas-XLSX werden bool-Spalten als 0 für False oder 1 für True angezeigt.
pandas_bool_to_string.py
df = pd.DataFrame([
{"a": True},
{"a": False},
{"a": True},
{"a": False},
{"a": False},
])
with pd.ExcelWriter("out.xlsx", engine="xlsxwriter") as writer:
df.to_excel(writer)
Lösung
Die Spalte vor dem Export auf eine String-Spalte mit dem gewünschten Wert mappen:
pandas_full_example.py
df["a"] = df["a"].map({True: "True", False: "False"})
Vollständiger Beispielcode:
pandas_full_example_usage.py
df = pd.DataFrame([
{"a": True},
{"a": False},
{"a": True},
{"a": False},
{"a": False},
])
df["a"] = df["a"].map({True: "True", False: "False"})
with pd.ExcelWriter("out.xlsx", engine="xlsxwriter") as writer:
df.to_excel(writer)If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow