I want to put all row heights to 20 and all column widths to 30. I tried this code: All is just with pandas dataframe.
worksheet2.set_default_row(20) #it works but in Excel is it 19.80 worksheet2.set_default_column(30) #it doesn't work, Error: 'Worksheet' object has no attribute 'set_default_column'
Advertisement
Answer
Creating excel file
import pandas as pd import numpy as np # creating and saving excel file df = pd.DataFrame( np.random.randint(0, 10, size=(10, 4)), columns=['column name 1', 'column name 2', 'column name 3', 'column name 4'] ) writer = pd.ExcelWriter('test_file.xlsx') df.to_excel(writer, sheet_name='my_sheet', index=False) writer.save()
Changing size of columns and rows
import pandas as pd df = pd.read_excel('test_file.xlsx') writer = pd.ExcelWriter('test_file.xlsx') df.to_excel(writer, sheet_name='my_sheet', index=False) worksheet = writer.sheets['my_sheet'] # change column width of all columns worksheet.set_column(0, len(df), 30) # change row height for row in range(0, len(df.index)+1): worksheet.set_row(row, 20) writer.save()
Before
After
Reference
https://xlsxwriter.readthedocs.io/worksheet.html
You might also want to take a look at this to dynamically change the row height and column width