2017-05-16 3 views
-1

Hey, ich habe ein Excel-Dokument, das eine Zuordnung von Firmennamen zu ihren jeweiligen Tickern hat. Im Moment habe ich diese FunktionConverting Firmenname in Ticker

def(ticker): 
    mapping = pd.read_excel('ticker.xlsx',header = 3,parse_cols='A,B') 
     for index,row in mapping.iterrows(): 
      if ticker.upper() in row['Name'].upper().split(): 
       ticker = row['Ticker'] 
    return ticker 

Der Grund, warum ich „in“ in Zeile 4 statt „==“ verwenden, weil in dem Excel-Dokument „Apple“ als „Apple Inc.“ aufgeführt ist und da der Benutzer wahrscheinlich nicht tippt, dass der Ticker ("Apfel") "AAPL" zurückgibt.

Im obigen Code wird die if-Anweisung nie ausgeführt und ich war neugierig auf die bestmögliche Lösung hier.

+0

Sie sollten einige Beispieldaten veröffentlichen, insbesondere Daten, die die gewünschte Ausgabe auslösen sollen. – DyZ

Antwort

0

Havnt habe diese Syntax vorher gesehen. Muss die Nltk-Syntax sein.

Das sagte ich werde versuchen, hilfreich zu sein.

Wenn der In Befehl dasselbe wie SQL ist, dann bedeutet es genau gleich. Bedeutung "Apple" in ("Apple Inc") wäre falsch.

Sie möchten eine tun, wenn ('AppleInc wie '% Apple-%') oder vielleicht ein .Match regex. Das ist ungefähr das Ausmaß, in dem ich Vorschläge machen kann, da ich Python nicht mache.