2014-02-19 2 views
0

Мой текущий код производит желаемый вывод, но он вставляет пробел после каждой строки. Может ли кто-нибудь угодить советам, как я могу настроить этот код, чтобы опустить пробелы после каждой строки? Благодарю.Удаление пустых строк из файлов csv с помощью python 3.3

import csv 

file1 = open ('Trial_1.csv', 'rt') 
reader1 = csv.reader (file1) 
file2 = open ('Trial_2.csv', 'rt') 
reader2 = csv.reader (file2) 
file3 = open ('Trial_3.csv', 'rt') 
reader3 = csv.reader (file3) 
readers = (reader1, reader2, reader3) 

WriteFile = open ('Trial_merged.csv','w') 
writer = csv.writer(WriteFile) 

for reader in readers: 
    next(reader, None) 
    for col in reader: 
     writer.writerow (col [0:3]) 


file1.close() 
file2.close() 
file3.close() 
WriteFile.close() 
+0

Имеются ли в ваших входных файлах пустые строки? –

ответ

0

Я подозреваю, что ваши входные файлы содержат пустые строки. В этом случае быстрое исправление будет заключаться в том, чтобы проверить пустую строку перед записью:

for reader in readers: 
    next(reader, None) 
    for col in reader: 
     if col: 
      writer.writerow (col [0:3]) 
0

Спасибо. Я решил проблему. Мне пришлось вставить newline = '' в качестве параметра чтения и записи, и он решил проблему. Я не знаю, почему это так, но, возможно, намекает на то, что программа, если встречается пустое пространство, требуется новая строка, удаляя все пустые строки.