2016-05-02 2 views
0

Ich kratze die Anzahl der Reisenden ins Ausland (Link im Code unten enthalten). Da Zahlen über 999.999 zu einer anderen Klasse gehören als die niedrigeren Zahlen, musste ich zwei getrennte X-Pfade verwenden, um alle Daten abzurufen. Ich drucke erfolgreich die Daten, aber aus irgendeinem Grund gibt es einen zusätzlichen Platz vor und nach allen Zahlen aus der "Bignum" -Klasse. Weiß jemand, wie ich diese Räume in meinem Code los werde? Reinigen der CSV-Datei in Excel ist eine Option, aber es würde Stunden meiner Zeit dauern. Beachten Sie, dass einige der leeren Bereiche in den Daten tatsächlich vorhanden sein sollen, da diese Länder keine Daten für das entsprechende Jahr gespeichert haben.Wie kann ich diese unerwünschten leeren Bereiche in meinen Scraped-Daten loswerden?

# 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 

Antwort

0

Sie benötigen nicht zwei separate XPaths und überprüfen alle Klassen. Halten Sie es einfach:

Data1995 = [i.text_content().strip() 
      for i in data.xpath("//td[contains(@class, 'wbapi-data-value')]")] 
+0

Das ist ein alternativer XPath, jedoch bleiben die unerwünschten Leerzeichen noch. –

+0

@SamB Ja, meinst du die leeren Gegenstände in der Liste? Sicher, das sind die Länder, die keine Reisendenwerte haben. – alecxe

+0

Nein, die leeren Leerzeichen, die vor und nach einer Zahl von 1.000.000 oder höher angezeigt werden. Sie halten die Daten in einer Tabellenkalkulation korrekt auf. –

Verwandte Themen