我正在为OpenData编写一个python刮板代码,并且我有一个问题:如何检查所有值是否未填充到站点中,以及它是否为null将值更改为null。我的刮板是here。如何检查Python中的许多变量是否为空?
目前我正在努力优化。
我现在变量样子:
evcisloval = soup.find_all('td')[3].text.strip()
prinalezival = soup.find_all('td')[5].text.strip()
popisfaplnenia = soup.find_all('td')[7].text.replace('\"', '')
hodnotafaplnenia = soup.find_all('td')[9].text[:-1].replace(",", ".").replace(" ", "")
datumdfa = soup.find_all('td')[11].text
datumzfa = soup.find_all('td')[13].text
formazaplatenia = soup.find_all('td')[15].text
obchmenonazov = soup.find_all('td')[17].text
sidlofirmy = soup.find_all('td')[19].text
pravnaforma = soup.find_all('td')[21].text
sudregistracie = soup.find_all('td')[23].text
ico = soup.find_all('td')[25].text
dic = soup.find_all('td')[27].text
cislouctu = soup.find_all('td')[29].text
输出:
scraperwiki.sqlite.save(unique_keys=["invoice_id"],
data={ "invoice_id":number,
"invoice_price":hodnotafaplnenia,
"evidence_no":evcisloval,
"paired_with":prinalezival,
"invoice_desc":popisfaplnenia,
"date_received":datumdfa,
"date_payment":datumzfa,
"pay_form":formazaplatenia,
"trade_name":obchmenonazov,
"trade_form":pravnaforma,
"company_location":sidlofirmy,
"court":sudregistracie,
"ico":ico,
"dic":dic,
"accout_no":cislouctu,
"invoice_attachment":urlfa,
"invoice_url":url})
我GOOGLE了它,但没有成功。
_if取代它为空值更改为null_:如果是'null',那么它已经是'null',你什么都不做。你的意思是“空”作为一个字符串? – rodrigo 2015-02-11 09:53:06
如果这些值未填满,它们将会是什么? – 2015-02-11 10:06:17
如果你运行批量上传,你需要有一些东西作为价值。实际日期或无效。刮过的网站有两个日期值,一个用于接受发票,另一个用于发票付款。如果你的弹力十足,你可以选择这个日期。但是另一个用例是从具有空值的弹性字段中选择,然后通知本网站的系统管理员他没有好的数据并且与法律相冲突。 – 2015-02-11 11:47:42