我的问题是:我想将制表符分隔格式的文本设置为一个漂亮的ASCII表。我可以用prettytable做到这一点,这不是我目前的问题。问题是,我有一个列有很长的文本,我想让prettytable将文本分成更小的部分
我现在所拥有的:
+------+------+--------------------------------------------------+
| Col1 | Col2 | Col3 |
+----------------------------------------------------------------+
| a| b| 123456789123456789123456789123456789123456789123 |
| d| e| 123456789123456789123456789123456789123456789123 |
+------+------+--------------------------------------------------+
我想要的是:
+------+------+---------------------+
| Col1 | Col2 | Col3 |
+---------------------------- ------+
| a| b| 1234567891234567891 |
| | | 2345678912345678912 |
| | | 3456789123 |
| d| e| 1234567891234567891 |
| | | 2345678912345678912 |
| | | 3456789123 |
+------+------+---------------------+
我的代码如下:
import re
from prettytable import PrettyTable
imported = open("import_file.txt", "r")
x = PrettyTable()
x.field_names = ["Col1", "Col2", "Col3"]
for i in imported:
red = re.split(r'\t', i)
x.add_row(red)
with open('exit_file.txt', 'w') as exitfile:
exitfile.write(str(x))
在python3中,使用prettytable可以轻松地完成类似的任务吗?还是应该使用其他模块
我不确定是否有一个函数允许您在
prettytable
中执行此操作,但有一个简单的解决方法可以完全实现您想要的。但是,这要求您在将值添加到表中之前直接修改import_file.txt
,或者解析并应用更改这里有一个例子
如果以这种格式转换
将逐行打印字符
因此,在字符中添加换行符将迫使它们在同一单元格(
[row][col]=cell
)中换行并开始新行相关问题 更多 >
编程相关推荐