使用numpy比较两个文本文件中的两列

时间:2018-07-28 08:50:55

标签: python python-2.7 numpy

我有两个txt格式的文件,如下所示:

文件1:分隔符^

ID^Name^Address^Date of Join^Pin^Country
1^John^No 123. Ml^2016-06-30^123123^USA
2^Shaw^No 13. MX^2014-02-30^423123^UK
3^Donn^No 453. MR^2015-01-30^523123^UAE

文件2:分隔符|

Name|ID|Address|Date of Join|Pin|Country
John|1|No 123. Ml|2016-06-30|123123|USA
Shaw|2|No 13. MX|2014-02-30|423123|UK
Donn|3|No 453. MR|2015-01-02|523123|UAE
Donn|4|No 1. XR|2012-03-10|523123|UAE

我想在两两列上进行比较,即IDDate of Join

我的尝试:我正在为此使用numpy。

import numpy as np
data1 = np.loadtxt('E:\File1.txt', delimiter='^')
data2 = np.loadtxt('E:\File2.txt', delimiter='|')
np.savetxt('E:\Output.txt',data2[data1[:,0]!=data2[:,1] or data1[:,3]!=data2[:,3],:])

但是出现错误:

ValueError: could not convert string to float: ID

1 个答案:

答案 0 :(得分:0)

np.genfromtxtdtype=None一起使用以进行自动数据类型检测:

data1 = np.loadtxt('E:\File1.txt', dtype=None, delimiter='^')