If you export XLSX data using df.to_excel()
, the column widths in the spreadsheet are left as default and are not adjusted automatically:
# Load example dataset df = pd.read_csv("https://datasets.techoverflow.net/timeseries-example.csv", parse_dates=["Timestamp"]) df.set_index("Timestamp", inplace=True) # Export dataset to XLSX df.to_excel("example.xlsx")
Solution
You can use UliPlot‘s auto_adjust_xlsx_column_width
in order to automatically adjust the column width.
pip install UliPlot
Then use it like this in order to export the XLSX:
from UliPlot.XLSX import auto_adjust_xlsx_column_width # Load example dataset df = pd.read_csv("https://datasets.techoverflow.net/timeseries-example.csv", parse_dates=["Timestamp"]) df.set_index("Timestamp", inplace=True) # Export dataset to XLSX with pd.ExcelWriter("example.xlsx") as writer: df.to_excel(writer, sheet_name="MySheet") auto_adjust_xlsx_column_width(df, writer, sheet_name="MySheet", margin=0)
Note that the algorithm currently tends to oversize the columns a bit, but in most cases, every type of column will fit.