将csv列的内容逐列输入到网站Python中

时间:2014-11-12 00:26:02

标签: python csv selenium download

请帮帮我。我迫切需要。我想从csv文件中逐列输入网站的唯一内容,并将所有列的输出下载到一个csv文件中。 This是网站,我想将结果表下载到csv文件中。样本输入可以是

RNA,cancer,biotin
DNA,lungs,biotin

我的输入csv文件看起来像上面提到的,我想输入RNA,DNA一次,得到结果,保存到csv文件,然后癌症,肺,保存结果到相同的csv文件,然后生物素(不是生物素,生物素)并将结果保存到csv文件中。到目前为止我已经尝试过了。

from selenium import webdriver
import os
import time
import sys
from selenium.webdriver.common.keys import Keys
from urllib2 import Request
import urllib2

fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList",2)
fp.set_preference("browser.download.manager.showWhenStarting",False)
fp.set_preference("browser.download.dir", "path")
fp.set_preference("browser.download.manager.closeWhenDone", True)
fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/x-gzip gz")
browser = webdriver.Firefox(firefox_profile=fp)
browser.get("http://bioportal.bioontology.org/annotator")
popup= browser.find_element_by_class_name("close").click()
sinput = browser.find_element_by_id("annotation_text")
sinput.send_keys("cancer")
ontology = browser.find_element_by_class_name("default")
ontology.click()
ontology.send_keys("National Cancer Institute Thesaurus")
ontology.send_keys(Keys.RETURN);
submit = browser.find_element_by_id('annotator_button')
submit.click()
time.sleep(30)

1 个答案:

答案 0 :(得分:1)

我这样做了,其中一部分取自here

time.sleep(2)
clickme = browser.find_elements_by_xpath('//*[@id="annotations"]')
data = []
for tr in clickme:
    tds=tr.find_elements_by_tag_name('td')
    if tds:
        data.append([td.text for td in tds])

def chunks(l, n):
    for i in xrange(0, len(l), n):
        yield l[i:i+n]

with open('out.csv', 'wb') as csvfile:
    csvwriter = csv.writer(csvfile)

    for a_chunk in chunks(data[0], 6):
        csvwriter.writerow(a_chunk)

browser.close()