gpt4 book ai didi

python - 如何在Python中围绕一个公共(public)值合并两个文本文件

转载 作者:行者123 更新时间:2023-12-01 05:10:26 25 4
gpt4 key购买 nike

我有两个不同的文件。

我需要将它们合并到一个文件中。有一个共同的值(value)观。这两个文件都是这种格式。比赛不会按顺序进行。 Dataset1 line1 可能与 dataset2 line1 不匹配。 dataset1 line1 更有可能匹配 dataset2 line16 或 line 45。

粗体是匹配值。任何定向帮助将不胜感激。

BEEC,BE-EC,,154.7,46.07,,31.63,54.6,4833.6,5.06BPLZ,BE-LZ,,390.6,62.62,,49.0,145.0,27.3,61.52BFLP,BF-OP,,180.1,34.89,,40.0,58.26,8533.8,7.31MRM1234-BEEC-1635753E001     25.6    70.29MRM1234-BPLZ-1814737E003     8.12    18.13MRM1234-BFLP-2470883E001     12.92   18.8

我知道如何使用line.split来获取每个元素的数组。

我知道如何算入第二个数据集的第一列 L[6:4] 以获得匹配的 4 个字母值。

我尝试了几种建议的方法,但都没有成功。

如何将所有列合并到由唯一的 4 位数标识符连接的单行中?我无法匹配唯一值然后写入一行。

最佳答案

文件dat1的内容:

BEEC,BE-EC,,154.7,46.07,,31.63,54.6,4833.6,5.06
BPLZ,BE-LZ,,390.6,62.62,,49.0,145.0,27.3,61.52
BFLP,BF-OP,,180.1,34.89,,40.0,58.26,8533.8,7.31

文件dat2的内容:

MRM1234-BEEC-1635753E001     25.6    70.29
MRM1234-BPLZ-1814737E003 8.12 18.13
MRM1234-BFLP-2470883E001 12.92 18.8

使用这个快速而肮脏的脚本来连接两个文件的行,如所描述的。

dat1 = {}
with open('dat1') as f:
for line in f.readlines():
dat1[line.split(',')[0]] = line.strip().split(',')[1:]

dat2 = {}
with open('dat2') as f:
for line in f.readlines():
key = line.strip().split()[0].split('-')[1]
dat2[key] = line.strip().split()[1:]

for key in dat1.keys():
print("%s,%s,%s" % (key, str.join(',', dat1[key]), str.join(',', dat2[key])))

这将产生以下输出。

BFLP,BF-OP,,180.1,34.89,,40.0,58.26,8533.8,7.31,12.92,18.8
BEEC,BE-EC,,154.7,46.07,,31.63,54.6,4833.6,5.06,25.6,70.29
BPLZ,BE-LZ,,390.6,62.62,,49.0,145.0,27.3,61.52,8.12,18.13

关于python - 如何在Python中围绕一个公共(public)值合并两个文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24334747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com