Vérifier si la chaîne est en CSV
Je veux rechercher un fichier CSV et d'imprimer True
ou False
, selon si oui ou non j'ai trouvé la chaîne. Cependant, je suis en cours d'exécution dans le problème de laquelle il sera de retour un faux positif, si elle constate la chaîne incorporé dans une grande chaîne de texte. E. g.: Il sera de retour True
si la chaîne est foo
et le terme foobar
est dans le fichier CSV. J'ai besoin d'être en mesure de retourner les correspondances exactes.
username = input()
if username in open('Users.csv').read():
print("True")
else:
print("False")
J'ai regardé à l'aide de mmap
, re
et csv
les fonctions du module, mais je n'ai pas n'importe où avec eux.
EDIT: Voici une méthode alternative:
import re
import csv
username = input()
with open('Users.csv', 'rt') as f:
reader = csv.reader(f)
for row in reader:
re.search(r'\bNOTSUREHERE\b', username)
OriginalL'auteur jars121 | 2013-06-25
Vous devez vous connecter pour publier un commentaire.
lorsque vous regardez à l'intérieur d'un fichier csv à l'aide de la
csv
module, il sera de retour de chaque ligne d'une liste de colonnes. Donc, si vous voulez la recherche de votre chaîne, vous devez modifier votre code en tant que tel:mais comme c'est un fichier csv, vous pouvez vous attendre le nom d'utilisateur à une colonne donnée:
OriginalL'auteur zmo
Vous devriez jeter un oeil à la csv module en python.
Il suppose que votre séparateur est une virgule (remplacer par le votre délimiteur. Notez que le nom d'utilisateur doit être défini précédemment. Également changer le nom du fichier.
Le code parcourt toutes les lignes dans le fichier CSV. ligne une liste de chaîne de caractères contenant chaque élément de votre ligne. Par exemple, si vous avez ceci dans votre fichier CSV:
Joe,Peter,Michel
la ligne sera['Joe', 'Peter', 'Michel']
. Ensuite, vous pouvez vérifier si votre nom est dans la liste.OriginalL'auteur Paco
OriginalL'auteur OllieTaiani
foobar
si c'est la recherche d'foo
. Votre code est également compliqué. Vous n'avez pas besoin de diviser les lignes, vous pouvez simplement le scan pourfoo
si vous ignorez la limitation.OriginalL'auteur akD