ipysheets 修改布局:换行、列宽

ipysheets modify layout: wrap text, column width

我正在使用 ipysheets 在 jupyter 中显示交互式 sheet。

我正在关注文档: https://readthedocs.org/projects/ipysheet/downloads/pdf/latest/

我只是不知道如何在创建后更改 ipysheet 的布局。

我想要特定的列宽,并使文本相对于特定列的内容换行(即,如果文本太长,则强制在单元格内换行)

import ipysheet as ip
import pandas as pd
API_link_to_data='https://raw.githubusercontent.com/jenfly/opsd/master/opsd_germany_daily.csv' 

energyDF = pd.read_csv(API_link_to_data)
energy_ip = ip.sheet(ip.from_dataframe(energyDF))
energy_ip

当打印出 energy_ip(一个 ipysheet table 对象)时,我希望能够固定列的宽度(以像素为单位或以像素为单位)。

不过好像没有这样的属性:

ipysheet.easy.column(column, 
    value, 
    row_start=0, 
    row_end=None, 
    type=None, 
    color=None, 
    background_color=None, 
    font_style=None, 
    font_weight=None, 
    style=None, 
    choice=None, 
    read_only=False, 
    numeric_format=’0.000’, 
    date_format=’YYYY/MM/DD’, 
    renderer=None, **kwargs)

有什么想法吗?

您需要创建样式才能实现此目的。 尝试使用 style={'width:50px'}

将执行以下操作,希望它能回答您的问题:

import ipysheet as ip
import pandas as pd
import ipywidgets as w 


API_link_to_data='https://raw.githubusercontent.com/jenfly/opsd/master/opsd_germany_daily.csv' 

energyDF = pd.read_csv(API_link_to_data)
energyDF['comment'] = 'this column will have line breaks'

energy_ip = ip.sheet(ip.from_dataframe(energyDF))
# set column widths
energy_ip.column_width = [10,10,5,5,5,10]
energy_ip.layout = w.Layout(width='500px',height='100%')
for k,c in enumerate(energy_ip.cells):
    c.style['textAlign']='center'
    c.send_state()

energy_ip