我有一个包含街道名称的表格以及它的第一个和最后一个门牌号码。我想要做的是打印每个街道名称的范围,所以我最终得到这样的东西:
1 The Street
2 The Street
3 The Street
1 Main Street
2 Main Street
etc.
我是Python新手,这是我到目前为止所做的:
>>> import csv
>>> inp = csv.reader(open("/tmp/HSN.csv", "r"), delimiter = ',')
>>> a = (line[0]) #street name column
>>> b = int(line[1]) #first house number column
>>> c = int(line[2]) #last house number column
>>> for d in range(b, c+1):
print a, d
continue
不幸的是,这似乎只是为CSV文件中的最后一个条目做了范围。有没有人知道如何打印出该范围内的所有数字,同时还打印出该范围内每个数字的街道名称?
答案 0 :(得分:1)
您的示例是否缺少代码? line
变量来自哪里?
以下代码可以帮助您入门:
inp = csv.reader(open("/tmp/HSN.csv", "r"), delimiter = ',')
for line in input:
street_name = line[0]
first_house_num = int(line[1])
last_house_num = int(line[2])
for house_num in range(first_house_num, last_house_num + 1):
print('{} {}'.format(house_num, street_name)
答案 1 :(得分:0)
你在哪里定义线?它可能是以前的测试遗留下来的。你的逻辑很好,你只想为每一行做。试试这个:
import csv
inp = csv.reader(open("/tmp/HSN.csv", "r"), delimiter = ',')
for line in inp:
a = (line[0]) #street name column
b = int(line[1]) #first house number column
c = int(line[2]) #last house number column
for d in range(b, c+1):
print a, d