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
Das ist ein alternativer XPath, jedoch bleiben die unerwünschten Leerzeichen noch. –
@SamB Ja, meinst du die leeren Gegenstände in der Liste? Sicher, das sind die Länder, die keine Reisendenwerte haben. – alecxe
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. –