gpt4 book ai didi

python - 如何对齐列表中特定元素的文本python

转载 作者:行者123 更新时间:2023-12-01 02:46:20 25 4
gpt4 key购买 nike

好吧,我正在尝试从另一个文件中获取内容并解析它们。

所以我的列在解析后看起来像这样:

Data|   Pin   |  Time   |  Delay  |
800 | address | 15 | 23

如何使文本看起来像这样:

编辑:

是否可以采用这种格式:

Data |        Pin        |  Time  |  Delay  |
800 | LONG PIN NAME | 16 | 15 |

每列对齐方式应根据字符串的长度而不同。

我知道我可以使用 .split('|') 将行放入列表中,但如何使每列使用特定数量的空格并且不会传递那。例如:

for lines in file:
#align lines
#write lines. align to new file

然后,这将从 unix 发送到 Outlook 电子邮件,因此由于某种原因,如果列中的一个元素太长,并且在 Outlook 中它们总是不对齐,则由于某种原因,列在 unix 中总是不对齐。

最佳答案

您可以使用str.format并指定理由:

In [199]: lines = '''Data|   Pin   |  Time   |  Delay  |
...: 800 | address | 15 | 23 |'''.splitlines()

In [200]: for line in lines:
...: print('|'.join(['{:^10}'.format(x) for x in map(str.strip, line.split('|'))])
...: )
...:
Data | Pin | Time | Delay |
800 | address | 15 | 23 |

您需要首先在 | 上进行拆分,然后剥离每个项目以删除无关的空格。然后,您可以应用格式并再次加入 |

不要混合使用制表符和空格。

<小时/>

对于可变间距,您可以创建一个间距列表并将其传递给内部的字符串,如下所示:

spacing = [10, 20, 8, 8]

for line in lines:
print('|'.join([('{:^%d}' %sp).format(x) for sp, x in zip(spacing, map(str.strip, line.split('|')))]))

Data | Pin | Time | Delay
800 | address | 15 | 23

关于python - 如何对齐列表中特定元素的文本python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45228969/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com