Input: file1
0 1
EXE sldk
EXE1 vkrk
TPO dlfk
EXE2 sdfs
Input: file2
0 1
DD=CMD asldkjfalsdkfj
DD=EXE mbnwjnjcxjic
DD=DMFF pklckwkflkdf
DD=EXE2 okvwokmvfv
DD=EXE1 ksdjfokwoekc
Expected output: file1#
0 1 2
EXE sldk mbnwjnjcxjic
EXE1 vkrk ksdjfokwoekc
TPO dlfk NaN
EXE2 sdfs okvwokmvfv
Result: file1#
0 1 2
EXE "sldk" "mbnwjnjcxjic"
EXE "sldk" "ksdjfokwoekc"
EXE "sldk" "okvwokmvfv"
EXE1 "vkrk" "ksdjfokwoekc"
TPO "dlfk" "NaN"
EXE2 "sdfs" "okvwokmvfv"
Code
import pandas as pd
import numpy as np
with open(file1, 'r') as file1, open(file2, 'r') as file1:
lines_1 = file1.readlines()
lines_2 = file2.readlines()
lines_1_column = [x.split(',') for x in lines_1]
lines_2_column = [y.split(',') for y in lines_2]
df_file1 = pd.DataFrame(lines_1_column)
df_file2 = pd.DataFrame(lines_2_column)
extract_from_two_files = file2[0].str.extract(f'({"|".join(file1[0])})', expand=False)
merge_two_files = file1.merge(file2[[1]], how='left', left_on=0, right_on=extract_from_two_files)
merge_two_files.columns = np.arange(len(merge_two_files.columns))
merge_two_files.to_csv(file 1#, index=False, sep=',', header=None)
I wanna get the 'Expected output: file1#', but the result is just like 'Result: file1#' with this code. I'm sorry but is there any suggestions you have?