鉴于熊猫的数据框(从数据库收到),我试图将结果输出到控制台,因为它将完整和可读。
我面临的挑战是关于2列中的长文本:LPQ_REASON& LPQ_RESOLUTION。您将从下面的输出(print df
)中注意到两个LPQ列以3个点(...
)结束,因此我无法读取文本。尽管我的初始设置为:
pd.set_option('display.max_rows', 1500)
pd.set_option('display.max_columns', 1500)
pd.set_option('display.width', 1000)
所以控制台上的结果如下所示:
ID DIS_CASE_ID CREATION_DATE type_2 LPQ_REASON LPQ_RESOLUTION RESOLUTION_CODE
0 727990 61180481 2017-01-05 13:47:05 7891 The LPQ we know is shorto add is 25% (h... This Memo was issued with conjunction to our j... 3979
1 727889 61180482 2017-01-05 13:51:09 7891 The LPQ he collide will increase 15% (h... This Memo was issued on matching viloation for... 3979
我正在寻找的最佳解决方案(如果可行)是打印整行,以便:
ID DIS_CASE_ID CREATION_DATE type_2 LPQ_REASON LPQ_RESOLUTION RESOLUTION_CODE
0 727990 61180481 2017-01-05 13:47:05 7891 The LPQ we know is shorto add is 25% (here This Memo was issued with conjunction to our 3979
comes the rest of the sentence. it might be analysis to foster a better bs when writing
long, or not, it might be short or whatever)
1 727889 61180482 2017-01-05 13:51:09 7891 The LPQ he collide will increase 15% yes and This Memo was issued on matching viloation for 3979
here I'm going to write the entire sentence who cares on what violation. just issued.
as if I really remember what was written. ha
答案 0 :(得分:0)
不是您想要的最佳效果,但您可以尝试以下方法:
pd.set_option('display.max_colwidth',100)
其中100是您可以选择的列宽。但这不会创建一个多行单元格,而是一个非常长的列。
或:
不是很优雅,但是 您可以尝试使用'制表'库(https://pypi.python.org/pypi/tabulate)创建了很好的文本表,如:
+--------+-------+
| item | qty |
+========+=======+
| spam | 42 |
+--------+-------+
| eggs | 451 |
+--------+-------+
| bacon | 0 |
+--------+-------+
使用表格,您可以使用' \ n'换行符。 只是迭代你的文本单元格并放置一个' \ n'每X个字符(假设每50个字符)。
一个简单的代码:
for i in range(len(data)):
data.at[i,'text'] = data.at[i,'text'][0:50] + '\n' + data.at[i,'text'][50:]
以上仅限于一个换行符,但您可以对其进行改进,以便为长文本进行多次换行。并且也没有考虑它是否在一个单词的中间断开。
!确保在数据副本上执行此操作,因为它会更改您的数据。如果您尝试使用常规'打印'然后你会看到' \ n'卡在文本的中间!