python - 如何使用 Pandas 包装整列的文本?

标签 python excel python-3.x pandas

我想用 pandas 来包装一整列。我已经设置了列的宽度,现在我只需要将整列换行,因为它们都在 1 行中。

我搜索了不同的答案,但并不直截了当。我不需要编辑列的宽度,我只想将文本换行在单元格中,这与我突出显示列 n 单击“换行文本”的操作相同。但我想使用 Python 脚本来完成它,因此我想使用 pandas 来实现它。

所以基本上

before looks like this

after looks like this

但我想通过 pandas 来完成此操作,而不是通过单击自动换行来手动完成。我想将换行应用到整个列,而不仅仅是那个单元格。

最佳答案

您可以使用解决方案修改example_pandas_column_formats :

import string

long_text = 'aa aa ss df fff ggh ttr tre ww rr tt ww errr t ttyyy eewww rr55t e'
data = {'a':[long_text, long_text, 'a'],'c':[long_text,long_text,long_text],
        'b':[1,2,3]}       
df = pd.DataFrame(data)

#choose columns of df for wrapping
cols_for_wrap = ['a','c']


writer = pd.ExcelWriter('aaa.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', index=False)

#modifyng output by style - wrap
workbook  = writer.book
worksheet = writer.sheets['Sheet1']
wrap_format = workbook.add_format({'text_wrap': True})

#dictionary for map position of selected columns to excel headers
d = dict(zip(range(26), list(string.ascii_uppercase)))
print (d)
{0: 'A', 1: 'B', 2: 'C', 3: 'D', 4: 'E', 5: 'F', 6: 'G', 7: 'H', 8: 'I', 
9: 'J', 10: 'K', 11: 'L', 12: 'M', 13: 'N', 14: 'O', 15: 'P', 16: 'Q', 
17: 'R', 18: 'S', 19: 'T', 20: 'U', 21: 'V', 22: 'W', 23: 'X', 24: 'Y', 25: 'Z'}

#get positions of columns
for col in df.columns.get_indexer(cols_for_wrap):
#map by dict to format like "A:A"     
    excel_header  =  d[col] + ':' + d[col]
    #None means not set with
    worksheet.set_column(excel_header, None, wrap_format)
    #for with = 20
    #worksheet.set_column(excel_header, 20, wrap_format)

writer.save()

关于python - 如何使用 Pandas 包装整列的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45985358/

相关文章:

vba - 空格分隔 'Export To Text' Excel 宏问题

excel - 如何在 FILTER 函数中使用通配符

python3-config --ldflags 不包括 -lpython3.x

python - 在引用列名和行号的同时更新数据框的元素

python - 调用函数时“int”对象不可调用

python - 在 Python 3.1 上使用 OpenCV 的 ctypes 指针

python - 记住Python中的静态属性

python - 如何将特定dtype对象列的字段转换为pandas中数据框的列

php - .xlsx 文件可以简化到什么程度

python - 模块 'importlib' 没有属性 'util'