0
我通过两个不同的csv文件解析并需要匹配它们之间的列。目前,当我运行代码片段时,实际上在两个csv文件之间存在匹配的地址时,它不返回匹配的值。我遇到的问题是OnlineData csv文件中地址字段的缩写。例如:Python:匹配两个csv文件之间的值
In the Addresses csv In the OnlineData csv
4587 Newton Road 4587 Newton Rd
7854 Food Court 7854 Food Ct
我怎么能告诉Python中寻找匹配的值时查找仅数字(“4587”)和第一个字(“牛顿”)在两个CSV文件。
import csv
Addresses = set()
with open ('Addresses.csv') as f:
for row in csv.reader(f):
Addresses.add(row[1])
OnlineData = set()
with open ('C:/Users/OnlineData.csv') as g:
for row in csv.reader(g):
PermitData.add(row[1])
results = Addresses & OnlineData
print 'There are', len(results), 'matching addresses between the two csv files'
for result in sorted(results):
print result
除了添加完整的“row [1]”值之外,首先在每个循环中截断它,以便在尝试交叉之前丢弃Road,Rd,Court等组件。 – sal
对不起,如果这听起来很荒谬,但是你的意思是使用append? –
我会写一个解决方案。 – sal