Увеличьте ширину столбцов на разных листах в excel, используя pandas и xlsxwriter

Я пытаюсь записать данные в разные листы файла excel, используя pandas и xlsxwriter. Мой код выглядит следующим образом.

import pandas as pd


# Create some Pandas dataframes from some data.
df1 = pd.DataFrame({'Data': [111231231, 123243244, 131231231, 142131231]})
df2 = pd.DataFrame({'Data': [211232131, 2212312322, 2323212213, 2412312312]})
df3 = pd.DataFrame({'Data': [31123123311, 32345225245, 332542355432, 342435245245]})

# Create a Pandas Excel writer using XlsxWriter as the engine.
writer = pd.ExcelWriter('pandas_multiple.xlsx', engine='xlsxwriter')

# Write each dataframe to a different worksheet.
df1.to_excel(writer, sheet_name='Sheet1')
df2.to_excel(writer, sheet_name='Sheet2')
df3.to_excel(writer, sheet_name='Sheet3')

# Close the Pandas Excel writer and output the Excel file.
writer.save()

Я печатаю все кадры данных на разных листах и ​​хочу немного увеличить ширину столбцов.

Я прочитал документацию, и команды writer.set_column() у меня не работают. Буду признателен, если кто-то поможет мне в этом отношении


person Zeryab Hassan Kiani    schedule 12.01.2021    source источник


Ответы (1)


Пожалуйста, попробуйте следующее. В качестве примера я установил column_width только для «Лист1». Вы можете попробовать другой лист, если это необходимо. Кроме того, я намеревался установить один столбец через «idx», чтобы вы могли указать, какой столбец изменить ширину. В вашем случае это не имеет значения, так как есть только один столбец, но в случае, если у вас их может быть несколько. Кр.

import pandas as pd


# Create some Pandas dataframes from some data.
df1 = pd.DataFrame({'Data': [111231231, 123243244, 131231231, 142131231]})
df2 = pd.DataFrame({'Data': [211232131, 2212312322, 2323212213, 2412312312]})
df3 = pd.DataFrame({'Data': [31123123311, 32345225245, 332542355432, 342435245245]})

# Create a Pandas Excel writer using XlsxWriter as the engine.
writer = pd.ExcelWriter('./pandas_multiple.xlsx', engine='xlsxwriter')

# Write each dataframe to a different worksheet.
df1.to_excel(writer, sheet_name='Sheet1')
df2.to_excel(writer, sheet_name='Sheet2')
df3.to_excel(writer, sheet_name='Sheet3')

# set column width for 'Sheet1'. If need do the same for other Sheet 
column_width = 30
worksheet = writer.sheets['Sheet1']
idx = 1
worksheet.set_column(idx, idx, column_width)
    
    
# Close the Pandas Excel writer and output the Excel file.
writer.save()
person antoine    schedule 12.01.2021