gpt4 book ai didi

Python 比较文件 A 和 B 中的值的方法,如果 A 匹配,则打印 B 中的整行

转载 作者:行者123 更新时间:2023-12-01 09:15:33 24 4
gpt4 key购买 nike

我有两个文本文件:

我的文件1:

sports1
sports2
sports3
sports4
sports5
sports6
sports7
sports8

我的文件2:

sports1  Cricket
sports2 golf
sports3 Hocky
sports4
sports5 Chess
sports6 Snooker
sports7 Foosball
sports8 Tampts

从上面的两个文件中,f myfile1 中的第一列与 myfile2 中的第一列匹配,那么它应该打印 myfile2 的两列。

下面的 awk 单行代码可以工作,但我正在 Python 中寻找类似的代码。

awk 'NR==FNR{c[$1]++;next};c[$1]' myfile1 myfile2

最佳答案

如果您愿意,您可以使用第三方库,例如 Pandas。这可能是最接近你的一句台词了。

delim_whitespace=True 确保 Pandas 使用空格来分隔列,而不是常规 csv 中所期望的 ,

import pandas as pd

df1 = pd.read_csv('file1.txt', header=None, names=['sport'])
df2 = pd.read_csv('file2.txt', header=None, names=['sport', 'name'],
delim_whitespace=True)

res = df2[df2['sport'].isin(df1['sport'].unique())]

print(res)

关于Python 比较文件 A 和 B 中的值的方法,如果 A 匹配,则打印 B 中的整行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51310311/

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