L'espace vide entre les lignes après l'utilisation de l'écrivain en python
Je suis en utilisant csv colis aujourd'hui, et à chaque fois que j'écris un nouveau fichier csv et l'ouvrir avec excel je vais trouver une ligne vide entre chaque deux lignes.
filereader = csv.reader(open("tests.csv", "r"), delimiter=",")
filewriter = csv.writer(open("test_step1.csv", "w"), delimiter=",")
#Delete header
for row in filereader:
if row[0].isdigit():
filewriter.writerow(row)
ouvrez le
J'ai essayé, mais j'ai reçu un autre message d'erreur: "'str' ne prend pas en charge la mémoire tampon d'interface"
ouvrir en mode binaire.
writer
fichier dans wb
mode. C'est à cause de la \r\n
J'ai essayé, mais j'ai reçu un autre message d'erreur: "'str' ne prend pas en charge la mémoire tampon d'interface"
ouvrir en mode binaire.
rb
et wb
Vous pouvez lire une chaîne de caractères, et l'écriture binaire du même ensemble de donnéesOriginalL'auteur user1998777 | 2013-05-31
Vous devez vous connecter pour publier un commentaire.
Vous devez ouvrir le fichier en mode de balance des blancs essayer:
Le csv.l'écrivain écrit \r\n dans le fichier directement.
Si vous n'ouvrez pas le fichier dans le mode binaire, il va écrire \r\r\n parce que sous Windows, en mode texte sera traduit chaque \n en \r\n.
edit:
Pour python 3 avait pour ajouter
newline=""
à csv.l'écrivain comme par cette réponsequelle version de python? Êtes-vous sur de windows?
Je pense que c'est 3.3.2
Je l'ai eu! Merci pour votre aide. Vous devez écrire open("", "w", retour à la ligne=") à la place! stackoverflow.com/questions/7200606/python3-writing-csv-files
C'est génial, je suis allé à la pub, je vais mettre à jour ma réponse sorte que vous pouvez prendre si vous voulez
OriginalL'auteur Noelkd
Je suis en utilisant
Python 3.6
et il semble quecsv.writer(open("test_step1.csv", "wb"), delimiter=",", newline="")
n'est pas correct. Plutôt,
newline=""
devrait ajoutée dans leopen()
clause.OriginalL'auteur DAVID Zuo