gpt4 book ai didi

Python-合并两个表中的数据

转载 作者:行者123 更新时间:2023-11-30 23:05:52 27 4
gpt4 key购买 nike

我想用 python(python 3.4) 合并表中的数据。我的示例数据如下,我想要得到这样的结果表。

[表 1]

Name1 Name2
AAAA XXXX
BBBB YYYY
CCCC ZZZZ

[表 2]

Index1 Sample1 Sample2 Sample3
AAAA 10 20 30
BBBB 25 25 25
CCCC 30 31 32
XXXX 27 29 31
YYYY 45 21 56
ZZZZ 48 24 10

[结果表]

Index2 Sample1 Sample2 Sample3
AAAA+XXXX 37 49 61
BBBB+YYYY 70 46 81
CCCC+ZZZZ 78 55 42

虽然这似乎是一个简单的问题,但我找不到好的解决方案,因为我是 python 新手,对 python 库不熟悉。如果我在数据库上使用 SQL 可能很容易,但我想在没有数据库的情况下解决它。大家有什么好主意吗?

最佳答案

以下 csv 方法适用于您的示例数据:

import csv

with open('table2.txt', 'r') as f_table2:
csv_table2 = csv.reader(f_table2, delimiter=' ', skipinitialspace=True)
table2_header = next(csv_table2)
table2_data = {cols[0] : cols[1:] for cols in csv_table2}

with open('table1.txt', 'r') as f_table1, open('output.csv', 'w', newline='\n') as f_output:
csv_table1 = csv.reader(f_table1, delimiter=' ', skipinitialspace=True)
table1_header = next(csv_table1)
csv_output = csv.writer(f_output)
csv_output.writerow(table2_header)

csv_output.writerows(
['{}+{}'.format(cols[0], cols[1])] + [int(x) + int(y) for x, y in zip(table2_data[cols[0]], table2_data[cols[1]])] for cols in csv_table1)

这将为您提供一个输出 CSV 文件,如下所示:

Index1,Sample1,Sample2,Sample3
AAAA+XXXX,37,49,61
BBBB+YYYY,70,46,81
CCCC+ZZZZ,78,55,42

使用 Python 3.4.3 进行测试

关于Python-合并两个表中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32986837/

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