python - 仅根据其中的一部分对列字符串进行排序
问题描述
我有一个包含几列和不同内容的字符串。在每一行中,我们都有日期和时间。我将按日期时间对其进行排序。我的字符串如下:
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
解决方案
可以直接比较字符串。要拆分它们,您可以使用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']
推荐阅读
- java - 创建名为“entityManagerFactory”的 bean 时出错,由 mappedBy 引用未知的目标实体属性引起
- mysql - Mysql:具有最小值的行并根据大小写优先级条件
- python - Zlib decompressobj vs 解压性能
- java - 当用户单击卡片视图中的任何文本视图小部件时,如何设置自定义输入对话框以在 Firebase 中保存数据?
- swift - 将 CollectionView 设置为横幅
- c# - 为什么我的项目不支持我的目标平台?
- ruby-on-rails - 参数缺失或值为空:ad
- mongodb - 在 MongoDB 数组中聚合
- angular - 谷歌地图标记标题重复
- android - 在 Android 6.0 上测试通过,但在 Android 8.0 上失败 - androidx.test.espresso.PerformException:执行“单击”时出错