python - 使用 Python 查询多个文本文件以合并列并显示输出
问题描述
我有两个文本文件,其中包含如下所示的数据,我想以 Python 中描述的格式显示输出。我正在使用带有 Python 3.0 的 PyCharm IDE。我也尝试在 Python 中使用字典和列表,但我无法正确获取它。
[文件1.txt]
2|斯泰西|塔克 4|西米|米尔扎 9|导航|辛格 6|拉姆|帕特尔 7|乔|普鲁斯
[文件2.txt]
2|26 6|17 9|30 4|31 7|35
所需的打印输出:
2塔克,斯泰西26 4米尔扎,西米31 9 辛格,纳维德 30 6帕特尔,拉姆17 7 普鲁斯,乔 35
有人可以给我一个建议吗?
解决方案
如果文件不是很大,您可以读取每个文件,将行附加到列表中(每个文件一个)。然后拆分'|'上的行。这将为您提供要匹配的 index[0] 。因此,您可以将每个列表的各个部分合并到一个新列表中进行输出。新列表将具有来自任一列表的 [0],来自 file1list + "," + [1] 来自 filelist1 + [1] 来自 filelist2 的 [2]。
#merglist.py
student_id = []
grade = []
file1 = open("file1.txt")
file2 = open("file2.txt")
f1 = file1.readlines()
for line in f1:
student_id.append(line.split('|'))
f2 = file2.readlines()
for line in f2:
grade.append(line.split('|'))
for g in grade:
for s in student_id:
if g[0]==s[0]:
newline = g[0] + " " + s[2].strip("\n") + ", " + s[1] + " "+ g[1].strip("\n")
print newline
| => python2 mergelists.py
2 Tucker, Stacey 26
6 Patel, Ram 17
9 Singh, Naved 30
4 Mirza, Simi 31
7 Pruth, Joe 35
推荐阅读
- python - 如何在不使用 gmpy 的情况下获得 64 位整数?
- powerbi - 如何使用快速测量 MoM% 并在视觉上应用过滤器以排除当前月份
- python - pyopengl 中圆形物体的速度问题
- amazon-web-services - 如何监控 EC2 EMR 集群状态
- google-cloud-nl - 使用 Google AutoML 对印度尼西亚语文章进行分类
- python - 将多维张量中的一个值映射到另一个值
- java - flink 在检查点上给了我“也可以打开文件”
- symfony - 我们可以使用来自另一个 Symfony 项目的存储库吗?
- javascript - azure-arm-consumption:通过 CSP 订阅获取消费
- c++ - 在不使用 arg 的情况下嵌入 python,脚本不加载