我正在向外国搜集旅客人数(链接包含在下面的代码中)。因为999,999以上的数字是不同类别的一部分而不是较低的数字,我不得不使用两个单独的Xpath来检索所有数据。 我成功地打印了数据,但出于某种原因,在& bignum'之前的所有数字前面都有一个额外的空间。类。有谁知道我如何在我的代码中摆脱这些空间?在Excel中清理csv文件是一种选择,但这需要花费数小时的时间。 请记住,数据中的一些空白区域实际上应该存在,因为这些国家/地区没有相应年份的任何记录数据。
# import python packages
import requests
from lxml import html
import csv
import pandas as pd
import re
r = requests.get('http://data.worldbank.org/indicator/ST.INT.ARVL/countries/1W?page=4&order=wbapi_data_value_2014%20wbapi_data_value%20wbapi_data_value-last&sort=asc&display=default')
data = html.fromstring(r.text)
Data1995 = []
Data_1995 = data.xpath("//tr/td[2][@class='views-field views-field-wbapi-data-value-1995 wbapi-data-value wbapi-data-value-first']/text()|//span[@class='bignum']/text()")
for i in Data_1995:
i = i.encode('ascii','ignore').strip()
i = re.sub('[()]', '', i) # removing ()
Data1995.append(i)
Data1995
答案 0 :(得分:0)
您不需要2个单独的XPath并检查所有类。保持简单:
Data1995 = [i.text_content().strip()
for i in data.xpath("//td[contains(@class, 'wbapi-data-value')]")]