首页 > 解决方案 > 仅根据其中的一部分对列字符串进行排序

问题描述

我有一个包含几列和不同内容的字符串。在每一行中,我们都有日期和时间。我将按日期时间对其进行排序。我的字符串如下:

1905/04/25        14:01:00    27.67    56.03    0      5.8    AMB  
1907/07/04        09:12:00    27.18    56.28    0      6      AMB                                                  
1905/06/19        01:27:00    29.89    59.98    0      6.8    AMB                                                                                                     
1909/10/27        18:45:00    30.09    57.58    0      5.5    AMB
1902/07/09        03:38:00    27.08    56.34    0      6.4    AMB                                                   
1903/01/14        02:46:00    24       64       0      5.5    BS                                                    

我所期望的:

1902/07/09        03:38:00    27.08    56.34    0      6.4    AMB                                                   
1903/01/14        02:46:00    24       64       0      5.5    BS                                                    
1905/04/25        14:01:00    27.67    56.03    0      5.8    AMB                                                   
1905/06/19        01:27:00    29.89    59.98    0      6.8    AMB                                                   
1907/07/04        09:12:00    27.18    56.28    0      6      AMB                                                   
1909/10/27        18:45:00    30.09    57.58    0      5.5    AMB

标签: pythonpython-2.7

解决方案


可以直接比较字符串。要拆分它们,您可以使用str.splitlines()

data = '''1905/04/25        14:01:00    27.67    56.03    0      5.8    AMB
1907/07/04        09:12:00    27.18    56.28    0      6      AMB
1905/06/19        01:27:00    29.89    59.98    0      6.8    AMB
1909/10/27        18:45:00    30.09    57.58    0      5.5    AMB
1902/07/09        03:38:00    27.08    56.34    0      6.4    AMB
1903/01/14        02:46:00    24       64       0      5.5    BS               '''


data = sorted(map(str.strip, data.splitlines()))

from pprint import pprint
pprint(data)

印刷:

['1902/07/09        03:38:00    27.08    56.34    0      6.4    AMB',
 '1903/01/14        02:46:00    24       64       0      5.5    BS',
 '1905/04/25        14:01:00    27.67    56.03    0      5.8    AMB',
 '1905/06/19        01:27:00    29.89    59.98    0      6.8    AMB',
 '1907/07/04        09:12:00    27.18    56.28    0      6      AMB',
 '1909/10/27        18:45:00    30.09    57.58    0      5.5    AMB']

推荐阅读