python数据处理

用python读取csv文件1,拿每一行的数据去跟csv2文件的数据进行匹配,取出文件2里包含文件1关键字的数据输出写入到新文件

文件1

表头
admin
root
qwer

文件2

ippasswd
10.6.0.121qwer123!
10.6.0.22123root123
10.6.0.32pas213
10.6.0.42pass21
10.6.0.52adminroot
运行结果输出到新文件
ippasswd
10.6.0.121qwer123!
10.6.0.22123root123
10.6.0.52adminroot
把包含文件1中关键字的密码 输出到一个新的csv文件里

with open('1.csv', 'r') as f:  # 读取1
    for line in f.readlines():
        passwd = line.replace('\n', '')
        # print(passwd)
        with open('2.csv', 'r') as f2:  # 读取 2
            for line_2 in f2.readlines():
                ip = line_2[:-1].split('    ')[0]
                passwd2 = line_2[:-1].split('    ')[1].replace('\n', '')
                if passwd2 == passwd:
                    with open('3.csv', 'w') as f3:  # 写入3
                        f3.write(ip + '\t' + passwd)

用pandas

import pandas as pd

csv_one = r'xxx\\1.csv'
df_one = pd.read_excel(csv_one)
csv_two = r'xxx\\2.csv'
df_two = pd.read_excel(csv_two)
csv_one_list = df_one['表头'].tolist()
df_new = pd.DataFrame(columns=["ip", 'passwd'])
for item in csv_one_list:
    df_new = pd.concat([df_new, df_two[df_two['passwd'].str.contains(item)].copy()])
df_new.drop_duplicates(inplace=True)
df_new.to_csv('xxx\\new.csv', index=False)