我正在制作德克萨斯州埃尔帕索颁发的建筑许可证地图。这是我第一次涉足python的精彩世界,这很有趣,但我无法弄清楚csv模块来挽救我的生命。
我有一个.csv文件,其中包含我需要添加的字段'日期','建筑物编号','建筑类型','描述','项目名称','过期日期','状态'一个名为“地址”的列,其地址与每个建筑物编号相关联。
我已经获得了使用建筑许可证号码获取地址的代码,但我不知道如何按顺序获取每个建筑物编号,使用它来获取许可证的地址,然后将其写入新的“地址”栏目。为什么他们不能把地址放在.csv文件中首先超出我的范围。
这是我到目前为止得到的地址:
from BeautifulSoup import BeautifulSoup
import urllib
CaseNo = "RSP11-00459" # this is an example of the building permit number format
DBaseEntry = urllib.urlopen("http://permits.elpasotexas.gov/tm_bin/tmw_cmd.pl?tmw_cmd=StatusViewCase&shl_caseno=%s " % CaseNo)
Soup = BeautifulSoup(DBaseEntry.read())
Dang = Soup.findAll("td", { "class" : "ReportCell"})[5]
Address = str(Dang)
TableEntry = Address[23:-5].strip( )
print TableEntry
它不够优雅,但我需要一种方法将建筑物数值作为CaseNo,然后将TableEntry写为(新创建的)地址列的值。 如果重要的话,这些表每个都有100行。
任何想法/建议?
答案 0 :(得分:0)
我不确定我完全理解您的问题,但如果是关于使用CSV模块,那么您的代码应该是这样的:
import csv,os
with open('foo.csv', 'rb') as r, open('foo.tmp', 'wb') as w:
reader = csv.reader(r)
writer = csv.writer(w)
for row in reader:
newrow=whatever_processing_you_need(row)
writer.writerow(newrow)
os.unlink('foo.csv')
os.rename('foo.tmp','foo.csv')
答案 1 :(得分:0)
据我所知,您使用您报告的代码获取了地址,现在您想将此地址附加到您的csv文件中。如果是这样的话,我会使用@bdev解决方案,而“whatever_processing_you_need”将简单地转换为:“找到你检索到的地址的相应行,并附上带有地址的最后一列”。