【问题标题】:Writing text wrapped Excel Files using Python使用 Python 编写文本包装的 Excel 文件
【发布时间】:2018-08-01 10:33:13
【问题描述】:

我是 Python 新手,我正在通过处理一些 CSV 文件并从中制作一个 excel 文件来练习。到目前为止,我可以获得 excel 文件,但是我无法通过 python 包装单元格。我尝试了多种方法,但没有一个可行。可能是因为我对 Python 的理解太差。谁能建议我在编写excel文件时如何换行?请解释一下代码?我得到以下代码的错误是: “str”对象没有属性“alignment”

这是我到目前为止所做的:

df=pd.DataFrame(list(zip(Dticketnumberlist,Dcategorylist)), 
             columns=['Ticket', 'Category'])

writer = pd.ExcelWriter('Trial Version.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1')
workbook=writer.book
worksheet = writer.sheets['Sheet1']

wrap_alignment = Alignment(wrap_text=True)
cell.alignment = wrap_alignment

【问题讨论】:

标签: python excel python-3.x word-wrap pandas.excelwriter


【解决方案1】:

您可以将 pandas 与 xlsxwriter 引擎(默认)一起使用。

您需要通过调用 xlsxwriter 文档 (link here) 中所述的 workbook.add_format() 方法来创建格式对象。

使用pandas.DataFrame.to_excel() 后,您可以使用worksheet.set_column() 添加格式。这方面的一个例子可以在 xlsxwriter 文档 (link here) 中找到。

我在下面提供了一个完全可重现的示例,其中包含预期的输出。

import pandas as pd

df = pd.DataFrame({'Ticket': ['a','b','c','d'],
                  'Category': [2,1,4,3]})


writer = pd.ExcelWriter('Trial Version.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', index=False)
workbook=writer.book
worksheet = writer.sheets['Sheet1']

format = workbook.add_format({'text_wrap': True})

# Setting the format but not setting the column width.
worksheet.set_column('A:B', None, format)

writer.save()

预期输出:

【讨论】:

  • 谢谢!终于有东西了! :D 所有 stackoverflow Q/A 给出语法错误!!
【解决方案2】:

使用 python xlsxwriter

之前的问题answered可以更好的帮助你。

【讨论】:

  • 我实际上已经经历了这个。但是我试图将数据框值放入单元格中。在这个例子中,他们直接写了字符串。
猜你喜欢
  • 2015-02-21
  • 2014-02-15
  • 2017-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-22
  • 2021-07-07
  • 2023-03-23
相关资源
最近更新 更多