我正在爲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