python - 在 Python 中从文本文件创建不同的列表
问题描述
所以我有一个名为 DOB 的文本文件,其中包含姓名和出生日期,.txt 文件保存如下(我只包括前几行,因为其中有很多:
奥维尔赖特 1988 年 7 月 21 日
罗杰里奥·霍洛威 1988 年 9 月 13 日
玛乔丽·菲格罗亚 1988 年 10 月 9 日
黛布拉·加纳 1988 年 2 月 7 日
蒂芙尼·彼得斯 1988 年 7 月 25 日
休·福斯特 1988 年 6 月 2 日
我想做的是创建一个姓名列表,以及另一个包含出生日期的列表。但是,我不知道如何只提取一行中的特定单词并将它们附加到列表中。有人可以帮助我理解如何做到这一点吗?
解决方案
此脚本假定人员可以有 2 个以上的姓名,并且日期由三个字符串(日、月和年)组成:
names, dates = [], []
with open('your_text_file.txt', 'r') as f_in:
for line in map(str.strip, f_in):
if not line: # skip empty lines
continue
tmp = line.split()
names.append(' '.join(tmp[:-3]))
dates.append(' '.join(tmp[-3:]))
print(names)
print(dates)
印刷:
['Orville Wright', 'Rogelio Holloway', 'Marjorie Figueroa', 'Debra Garner', 'Tiffany Peters', 'Hugh Foster']
['21 July 1988', '13 September 1988', '9 October 1988', '7 February 1988', '25 July 1988', '2 June 1988']
推荐阅读
- rust - 如何使用柴油的过滤方法
- python - 在 ubuntu 服务器上,nginx 无法提供跨域图像 url
- javascript - Bootstrap手风琴数据父不使用ajax调用
- r - 调整ggplot中标签的位置
- r - optim() 的高维优化替代方案
- python - 同一系统错误中的冲突 python 版本
- gitlab - 此图像没有活动标签。Gitlab docker 镜像注册表
- reactjs - React Router Switch:从匹配的路由中更改渲染组件
- talend - 一个输入源一个一个地运行所有上下文配置目标单个Oracle表
- permissions - Microsoft Graph 更新用户相关权限不起作用