comment sauter de ligne vide lors de la lecture du fichier CSV à l'aide de python
C'est mon code, je suis capable d'imprimer chaque ligne mais quand la ligne vide apparaît, il imprime ; en raison de format de fichier CSV, je tiens donc à ignorer lors de ligne vide apparaît
import csv
import time
ifile = open ("C:\Users\BKA4ABT\Desktop\Test_Specification\RDBI.csv", "rb")
for line in csv.reader(ifile):
if not line:
empty_lines += 1
continue
print line
Pourquoi avez-vous ouvert votre fichier en mode binaire? Indépendamment de cela, vous devez effectuer une itération sur vos lignes
Ce code n'a pas d'imprimer quoi que ce soit parce que le fichier est consommé dans
Janne oui vous avez raison il n'a pas d'imprimer quoi que ce soit, mais en fait, j'ai essayé d'imprimer cellule individuelle, c'est pourquoi je l'ai stocké dans un tableau.
avez-vous d'ouvrir votre fichier en mode binaire?" Parce que c'est le droit de portable d'ouvrir des fichiers à transmettre à
Vous pouvez utiliser un filtre ou d'un générateur démarche similaire à cette réponse: stackoverflow.com/a/14158869/1317713 je recommande re-factoring certains de la logique dans
data
variable. Que l'assignation à empty_lines
est incorrect, sans le déclarer en premier et vous avez une faute de frappe dans le for
avec un supplément de parenthèses fermantes.Ce code n'a pas d'imprimer quoi que ce soit parce que le fichier est consommé dans
data
avant la for
boucle.Janne oui vous avez raison il n'a pas d'imprimer quoi que ce soit, mais en fait, j'ai essayé d'imprimer cellule individuelle, c'est pourquoi je l'ai stocké dans un tableau.
avez-vous d'ouvrir votre fichier en mode binaire?" Parce que c'est le droit de portable d'ouvrir des fichiers à transmettre à
csv.reader
en Python 2, comme indiqué dans le docs.Vous pouvez utiliser un filtre ou d'un générateur démarche similaire à cette réponse: stackoverflow.com/a/14158869/1317713 je recommande re-factoring certains de la logique dans
def is_empty_line(line): ...
pour des raisons de lisibilité, dites-le si vous voulez sauter une ligne contenant tous les blancs de l'espace. Il peut aussi être une bonne idée de passer à la fois les commentaires et les lignes vierges - raison de plus pour ré-intégrer, dans des fonctions distinctes.OriginalL'auteur ketan | 2013-09-19
Vous devez vous connecter pour publier un commentaire.
Si vous voulez sauter tous les espaces lignes, vous devez utiliser ce test:
' '.isspace()
.Puisque vous voudrez peut-être faire quelque chose de plus compliqué que de juste l'impression de la non-lignes vides à la console(pas besoin d'utiliser CSV module), voici un exemple qui implique une DictReader:
OriginalL'auteur Leonid
Au lieu de
Cela devrait fonctionner:
OriginalL'auteur seddonym
Vous pouvez bande d'attaque et de fuite des espaces, et si la longueur est égale à zéro après que la ligne est vide.
if not line.strip():
🙂OriginalL'auteur Some programmer dude
next(reader)
est suffisant, pas besoin d'affecter une variable.OriginalL'auteur Tony Ho
set("\n").pop() == '\n'
, donc une ligne vide avec un saut de ligne à la fin sera toujours imprimé.j merci mec, je peux sauter de ligne vide, mais après comment un je des accès individuels valeur de la cellule, je sais pas si je peux stocker le fichier dans la liste des' alors que je peux y accéder mais le problème est que je reçois ligne vide également.
lorsque u itération d'une ligne dans le fichier, il va donner une liste, vous pouvez accéder à la ligne[0] pour obtenir la première valeur de la liste.
J, ai fait, mais obtenir une Colonne entière de sortie, je veux accéder à cellule individuelle de la valeur quand je itérer ligne.
itérer ligne imprimer les valeurs de cellule.
OriginalL'auteur Srinivasreddy Jakkireddy
ma suggestion serait de n'utiliser que le csv lecteur qui peut delimite le fichier en lignes. Comme cela, vous pouvez simplement vérifier si la ligne est vide et si il suffit donc de continuer.
OriginalL'auteur Inga
Cet exemple se contente d'afficher les données dans la matrice de la forme tout en sautant des lignes vides:
Je trouve ça beaucoup plus claire que d'autres ont fourni des exemples.
OriginalL'auteur drws
Vous pouvez toujours vérifier le nombre de valeurs séparées par des virgules. Il semble être beaucoup plus productif et efficace.
Lors de la lecture des lignes de manière itérative, car elles sont une liste de valeurs séparées par des virgules, vous obtiendrez une liste d'objet. Donc, si il n'y a pas d'élément (vide), alors nous pouvons le faire sauter.
OriginalL'auteur Pasan Chamikara