我一直在想为什么这个for循环不会产生预期的结果——因为它们是1个匹配的条目,生成一个“yes”输出。有人能帮我指出错误吗?我要导入的csv有7列和17000行。“alle”也从csv导入到包含4个元素的列表中,每个元素都是包含6个元素的列表。我正在使用Python2.7&我意识到我打开的库比我需要的要多,但是我是新的&在发布之前不想删除任何可能破坏代码的库。你知道吗
“alle”元素看起来像:
['Danlaw Inc', 'Applications Engineer', 'Novi, MI', 'http://www.indeed.com/rc/clk?jk=e199589101464b99', 'Novi', 'MI']
csv文件的行如下所示:
['4318055', 'Brownsville', 'LA', 'Brownsville, LA', '32.48709', '-92.1543', '4317']
这是我的密码:
import math
import csv
import urllib2
from urllib2 import urlopen
import json
from json import load
import requests
from pprint import pprint
from time import sleep
f = open(r'C:\Users\****\*****\Python\Best City Pop Long Lat Data\UScities1000_Trimmed_Full_NoHeader.csv', "rb")
csv_f1 = csv.reader(f)
for a in alle:
for e in csv_f1:
if a[2] == e[3]:
print ('yes')
我已经确认两个列表都有匹配的条目(这是一个城市和州-“Novi,MI”),但是当我运行代码时,我没有得到任何“yes”作为输出。有什么想法吗?谢谢您!你知道吗
更新:
下面是我如何附加“alle”csv list变量,我认为这是导致问题的原因:
def splitter(element):
city,state=element.split(', ',1)
return city, state
# >>>>> Assign variable to input city
#cities = []
#location = []
for e in alle:
if ', ' in e[2]:
city,state = splitter(e[2])
#location = [[city],[state]]
#e.append(location)
e.append(city)
e.append(state)
好吧,我想出来了。我从csv文件读取数据到list变量的方式是罪魁祸首——尽管我不知道确切的原因。但是,以下工作:
这是我之前尝试使用的:
相关问题 更多 >
编程相关推荐