首页 > 解决方案 > 使用 df.stack().to_string('o.txt') 时,长文本单元格被截断

问题描述

source.csv 文件 -

0,2020-12-31,20:30:00,Lorem ipsum dolor sit amet consectetur adipiscing elit. Nam hendrerit nisi sed sollicitudin pellentesque. Nunc posuere purus rhoncus pulvinar aliquam. Ut aliquet tristique nisl vitae volutpat. Nulla aliquet porttitor  mattis at dui acvenenatis. Donec a dui et dui fringilla consectetur id nec massa. Aliquam erat volutpat. Sed ut dui ut lacus dictum fermentum vel tincidunt neque. Sed sed lacinia lectus. Duis sit amet sodales felis. 
1,2021-04-01,09:05:00,test
2,2021-04-01,09:30:00,test

Python代码 -

import pandas as pd

df = pd.read_csv('source.csv')
df.stack().to_string('output.txt')

输出.txt

0  Unnamed: 0                                                    0
   Date                                                 2020-12-31
   Time                                                   20:30:00
   Activity      Lorem ipsum dolor sit amet consectetur adipisc...
1  Unnamed: 0                                                    1
   Date                                                 2021-04-01
   Time                                                   09:05:00
   Activity                                                   test
2  Unnamed: 0                                                    2
   Date                                                 2021-04-01
   Time                                                   09:30:00
   Activity                                                   test

当我使用df.stack().to_string('output.txt')时,带有长文本的单元格被截断。请问怎样才能避免呢?

如果我使用pd.set_option('display.max_colwidth', None),那么那些带有短文本的单元格包含很多空格。这让我几乎无法阅读输出。

有什么方法可以display.max_colwidth只为指定的列设置,而不是为所有列设置?

标签: pythonpandasdataframetruncatedrender-to-string

解决方案


推荐阅读