Ich benutze Pandas und Numpy, um meine CSV-Dateien zu durchsuchen, das Problem ist, dass zum Beispiel, wenn ich nach 'foo' suche und der Wert 'foo1' ist, es immer noch wahr zurückgibt. Wie kann ich nur nach 'foo' suchen und sonst nichts? Ich suche die bestimmte Zeile, aber der Wert wird gelegentlich nur eine Nummer am Ende hinzufügen, wie 'foo' wird zu 'foo1' oder 'foo2' ändern und ich kann das nicht wirklich ändern. Hier ist mein Code ist:Nur nach exakten Werten in CSV Python 2.7 suchen?
df = pd.read_csv('MyFile.csv')
x = np.where((df['Name'] == name) & (df['Num'] == 'foo'))
try:
if (x[0][0] + 1) > 0: #also if someone has a better method
return True #for returning True please let me know
except IndexError:
return False
Was meinen Sie, wenn Sie sagen, Sie „Suchen der bestimmten Zeile“ sind? Welche Art von Ausgabe möchten Sie? – ASGM
Zeigen Sie uns ein Beispiel der 'df ['Num']' Spalte und geben Sie an, welche Elemente Sie suchen möchten. Möchten Sie Zeilen beibehalten oder ausschließen, in denen 'df [' Num '] ==' foo1' 'steht? Ich verstehe auch nicht den Zweck dieses 'x [0] [0]' Tests. – hpaulj
@hpaulj Ich versuche, eine CSV nach einem Namen zu suchen und zu überprüfen, ob ihre Num die gleiche ist, als sie das letzte Mal das Skript ausgeführt hatte. Wenn es dasselbe ist, möchte ich True zurückgeben, und wenn es sich geändert hat, möchte ich False zurückgeben. Wenn die Num jedoch auf "foo1" geändert wird, wird True zurückgegeben, obwohl sie geändert wurde. Für den x [0] [0] -Test verwende ich dies nur als einen Weg, um zu sehen, ob x gefunden wurde. Es gibt mir die Zeile # in einem Array, und [0] [0] gibt mir die Zeile # als Str, und dann füge ich eins hinzu, weil es die Kopfzeile nicht berücksichtigt. Ich bin mir sicher, dass es einen einfacheren Weg gibt, aber IDK von einem. – Ecom1414