我有一个简单的EXCEL表,其中包含A列中的城市名称,我想提取它们并将它们放在一个列表中:
def getCityfromEXCEL():
wb = load_workbook(filename='test.xlsx', read_only=True)
ws = wb['Sheet1']
cityList = []
for i in range(2, ws.get_highest_row()+1):
acell = "A"+str(i)
cityString = ws[acell].value
city = ftfy.fix_text_encoding(cityString)
cityList.append(city)
getCityfromEXCEL()
Run Code Online (Sandbox Code Playgroud)
使用一个完美的小文件(70行).现在我正在处理一个大文件(8300行),它给了我这个错误:
/Library/Python/2.7/site-packages/openpyxl/workbook/names/named_range.py:121: UserWarning: Discarded range with reserved name
warnings.warn("Discarded range with reserved name")
Run Code Online (Sandbox Code Playgroud)
但它并没有中止.它似乎不再继续下去了.有人能告诉我可能导致错误的原因吗?它是.xlsx中的东西吗?我能找到什么特别提示吗?
我试图从这个网站获取塞浦路斯所有住宿的链接:http : //www.zoover.nl/cyprus
到目前为止,我可以检索已显示的前 15 个。所以现在我必须点击“volgende”链接。但是,我不知道该怎么做,并且在源代码中,我无法找到调用的函数以使用例如此处发布的 sth: 在 html 页面上使用漂亮的汤在 Python 中调用“点击事件”的问题
我只需要发生“点击”的步骤,这样我就可以获取接下来的 15 个链接等等。
有人知道如何提供帮助吗?已经谢谢了!
编辑:
我的代码现在看起来像这样:
def getZooverLinks(country):
zooverWeb = "http://www.zoover.nl/"
url = zooverWeb + country
parsedZooverWeb = parseURL(url)
driver = webdriver.Firefox()
driver.get(url)
button = driver.find_element_by_class_name("next")
links = []
for page in xrange(1,3):
for item in parsedZooverWeb.find_all(attrs={'class': 'blue2'}):
for link in item.find_all('a'):
newLink = zooverWeb + link.get('href')
links.append(newLink)
button.click()'
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
selenium.common.exceptions.StaleElementReferenceException:消息:元素不再附加到 DOM Stacktrace:在 fxdriver.cache.getElementAt (resource://fxdriver/modules/web-element-cache.js:8956) at Utils.getElementAt ( file:///var/folders/n4/fhvhqlmx23s8ppxbrxrpws3c0000gn/T/tmpKFL43_/extensions/fxdriver@googlecode.com/components/command-processor.js:8546)在fxdriver.preconditions.visible(file:///var/folders) /n4/fhvhqlmx23s8ppxbrxrpws3c0000gn/T/tmpKFL43_/extensions/fxdriver@googlecode.com/components/command-processor.js:9585) 在 DelayedCommand.prototype.checkPreconditions_ (file:///var/folders/n8lmx3brgtvc0mpx30rpx0rps/n4/fh30. /extensions/fxdriver@googlecode.com/components/command-processor.js:12257)在 DelayedCommand.prototype.executeInternal_/h(文件:///var/folders/n4/fhvhqlmx23s8ppxbrxrpws3c0000gn/T/tmpKFL43_/extensions/fxdriver@googlecode.com/components/command-processor.js:12274) 在 DelayedCommand.prototype.executeInternal_ …
在尝试了 scrapy 的第一个教程后,我真的很兴奋。所以我也想尝试表单提交。
我有以下脚本,如果我打印出 response.body,我将返回带有表单的页面,但什么也没发生。任何人都可以帮助我如何进入结果页面?
# spiders/holidaytaxi.py
import scrapy
from scrapy.http import Request, FormRequest
from scrapy.selector import HtmlXPathSelector, Selector
class HolidaytaxiSpider(scrapy.Spider):
name = "holidaytaxi"
allowed_domains = ["holidaytaxis.com"]
start_urls = ['http://holidaytaxis.com/en']
def parse(self, response):
return [FormRequest.from_response(
response,
formdata={
'bookingtypeid':'Return',
'airpotzgroupid_chosen':'Turkey',
'pickup_chosen':'Antalya Airport',
'dropoff_chosen':'Alanya',
'arrivaldata':'12-07-2015',
'arrivalhour':'12',
'arrivalmin':'00',
'departuredata':'14-07-2015',
'departurehour':'12',
'departuremin':'00',
'adults':'2',
'children':'0',
'infants':'0'
},
callback=self.parseResponse
)]
def parseResponse(self, response):
print "Hello World"
print response.status
print response
heading = response.xpath('//div/h2')
print "heading: ", heading
Run Code Online (Sandbox Code Playgroud)
输出是:
2015-07-05 16:23:59 [scrapy] DEBUG: Telnet console listening on …Run Code Online (Sandbox Code Playgroud) 为了解决我的库存问题,我需要一个三维决策变量x_{ij}^t
我是 CPLEX Python API docplex 的新手,到目前为止我发现的是
m = Model(name='inventory_problem')
x = m.integer_var_matrix(keys1=all_origins, keys2=all_destinations)
Run Code Online (Sandbox Code Playgroud)
这将涵盖索引中的 i 和 j 但如何包含第三个维度?
我想这不是很困难,但我就是找不到它......非常感谢!
python mathematical-optimization cplex multidimensional-array docplex
python ×2
python-2.7 ×2
cplex ×1
docplex ×1
javascript ×1
jquery ×1
openpyxl ×1
pyqt4 ×1
scrapy ×1
web-crawler ×1
web-scraping ×1