8

我是 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
4

2 回答 2

11

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

workbook.add_format()您需要通过调用xlsxwriter 文档(此处链接)中概述的方法来创建格式对象。

使用pandas.DataFrame.to_excel()后,您可以使用worksheet.set_column(). 这方面的一个例子可以在 xlsxwriter 文档中找到(链接在这里)。

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

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()

预期输出:

预期产出

于 2018-08-01T14:22:15.660 回答
0

使用 python xlsxwriter

之前回答的问题可以更好地帮助你。

于 2018-08-01T10:48:17.050 回答