在python中从字符串获取列宽

时间:2015-10-12 20:50:21

标签: python string

我有这个人。字符串:

'    Y   M   D     PDSW      RSPC      NPPC       NEE'

字符串中的每个元素都对应于csv文件中的一列。是否有一种方法(除了for循环),从这个字符串中获取每列的宽度?例如。第一列的宽度为5(' Y'),下一列的宽度为4(' M')...

1 个答案:

答案 0 :(得分:2)

可能是这样的:

>>> text = '    Y   M   D     PDSW      RSPC      NPPC       NEE'
>>> cols = re.findall('\s+\S+', text)
>>> [len(col) for col in cols]
[5, 4, 4, 9, 10, 10, 10]

所以 - 假设列(右对齐)是一个或多个空格,后跟一个或多个非空格,然后取结果字符串的长度。