向CSV fi添加包含屏幕截取值的列

2024-09-27 21:32:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在制作一张在德克萨斯州埃尔帕索签发的建筑许可证地图。这是我第一次进入神奇的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作为(新创建的)Address列的值。 如果重要的话,这些表每个都有100行。在

有什么想法/建议吗?在


Tags: 文件csvimportcmdaddress地址urllib编号
2条回答

据我所知,你用你报告的代码得到了地址,现在你想把这个地址附加到你的csv文件中。如果是这样的话,我会使用@bdev解决方案,“无论您需要什么样的处理”将简单地翻译为:“找到您检索到的地址的对应行,并在最后一列中添加地址”。在

我不太确定我完全理解你的问题,但如果是关于使用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')

相关问题 更多 >

    热门问题