用openpyxl包装的文本。如何使用文档解决弃用警告?

时间:2019-10-09 11:18:01

标签: python openpyxl python-3.7

我运行以下openpyxl命令将文本包装在第9行之后的所有行中。它可以正常工作,但会引发弃用警告。我很想弄清楚如何使用诸如https://openpyxl.readthedocs.io/en/stable/之类的文档来确定当前的不赞成使用的wrap_text方法。但是我总是觉得文档令人困惑并且对我没有帮助。例如,如果我搜索wrap_text,则会得到以下信息:https://openpyxl.readthedocs.io/en/stable/api/openpyxl.styles.alignment.html#openpyxl.styles.alignment.Alignment.wrapText

但是,这告诉我关于如何包装文字的任何信息。我是否根本不知道如何使用文档?我需要解开一些大谜团,这样我就不必无休止地搜索如何使用openpyxl?如何查看此类文档并弄清楚如何在单元格中包装wrap_text?

代码如下:

from openpyxl import load_workbook
from openpyxl.styles import Alignment

file1 = "C:\\folder\\inputFile1.xlsx"
wb=load_workbook(file1)
ws = wb.active
for rows in ws.iter_rows(min_row=10, max_row=None, min_col=None, max_col=None):
    for cell in rows:
       cell.alignment =  cell.alignment.copy(wrapText=True)
    wb.save('C:\\folder\file1_wrap.xlsx')    

这是弃用警告:

C:\ Users \ Jcurran \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ ipykernel_launcher.py:10:DeprecationWarning:调用已过时的函数副本(使用copy(obj)或cell.obj =单元格。 obj +其他)。 加载内容时,请从sys.path中删除CWD。

我该如何找出方法来通过https://openpyxl.readthedocs.io/en/stable/上的文档找到使用当前的方法(不建议使用)将文本包装在单元格中所需的信息?

我正在为我的环境使用Jupyter。 Shift键或Tab键对我没有任何帮助。

有什么建议吗?我渴望自给自足,但无法掌握如何浏览文档以获取答案。某处一定有线索吗?也许我不知道如何找到一些源代码?

1 个答案:

答案 0 :(得分:0)

我了解到我没有最新的openpyxl版本。 pip install openpyxl安装了2.5。我将其升级到3.0。 现在,当我看https://openpyxl.readthedocs.io/en/stable/index.html时,它就更有意义了:-)

我现在知道openpyxl 3.0文档的“使用样式”部分是格式化数据的地方。

因此,我点击了该链接,然后转到https://openpyxl.readthedocs.io/en/stable/styles.html

该页面向我显示了此信息:

>>> alignment=Alignment(horizontal='general',
...                     vertical='bottom',
...                     text_rotation=0,
...                     wrap_text=False,
...                     shrink_to_fit=False,
...                     indent=0)

我可以使用该信息在此行换行:

cell.alignment = Alignment(wrapText=True)

现在,一切对我来说都变得有意义。 :-)谢谢!