2015-01-23 3 views
0

мой код выглядит следующим образом:csv.writer возвращение странные результаты

import csv 

mesta=["Ljubljana","Kranj","Skofja Loka","Trzin"] 
opis=["ti","mene","ti mene","ne ti mene"] 
delodajalci=["GENI","MOJEDELO","MOJADELNICA","HSE"] 
ime=["domen","maja","andraz","sanja"] 
datum=["2.1.2014","5.10.2014","11.12.2014","5.5.2014"] 

with open('sth.csv','w',newline='') as csvfile: 
    zapis = csv.writer(csvfile, delimiter=' ') 
    dolzina=len(datum) 
    i=0 
    while i<dolzina: 
     zapis.writerows([ime[i]+","+delodajalci[i]+","+opis[i]+","+datum[i]+","+mesta[i]]) 
     i+=1 

и по какой-то странной причине мой результат выглядит следующим образом: д о м е н я т я 2 G E N. 1. 2 0 1 4 L j u b l j a n a m a j a M O J E D E L O m e n e 5. 1 0. 2 0 1 4 K r a n j a n d r a z M O J A D E L N I C A t i "" m e n e 1 1. 1 2. 2 0 1 4 S k o f j a "" L o k a s a n j a H S E n e "" t i "" m e n e 5. 5. 2 0 1 4 T r z i n

Таким образом, таблица из 4 строк по 5 столбцов.

Мне бы хотелось посоветовать, как сделать эти белые пробелы и «уйти». Так что, например, d o m e n будет domen и S k o f j a "" L o k a, Skofja Loka. Я был бы всегда благодарен за вашу помощь. Ох, и если это possibile сделать это без каких-либо других модулей, которые были бы еще лучше, так как у меня есть проблемы с установкой их на этом компьютере Aswell :(

Спасибо за ваше время.

ответ

1
import csv 

mesta=["Ljubljana","Kranj","Skofja Loka","Trzin"] 
opis=["ti","mene","ti mene","ne ti mene"] 
delodajalci=["GENI","MOJEDELO","MOJADELNICA","HSE"] 
ime=["domen","maja","andraz","sanja"] 
datum=["2.1.2014","5.10.2014","11.12.2014","5.5.2014"] 

with open('sth.csv','w') as csvfile: 
    zapis = csv.writer(csvfile) 
    zapis.writerows(zip(ime,delodajalci,opis,datum,mesta)) 

создает выход:

Domen, GENI, Ti, 2.1.2014, Любляна

Maja, MOJEDELO, мене, 5.10.2014, Крань

Andraz, MOJADELNICA, ти мене, 11.12.2014, Skofja Лока

Sanja, HSE, пе ти мене, 5.5.2014, Trzin

В то, что вы имели, writerows получал одной строки (в том числе запятые между тем, что вы хотели). Вы хотели, чтобы он просто распечатал эту строку. Но csvwriter хочет распечатать список с разделителем между записями. У него была только строка, поэтому, когда она рассматривает это как список, каждый символ печатается, а затем разделитель.

В том, что я сделал, у меня есть писатели, получающие кучу списков. Каждый список исходит от zip, поэтому каждый список состоит из «i-й записи аргументов zip got.

Редактировать удален dolzina и i = 0, поскольку больше не нужен.

+0

Благодарим вас так много !!!!!! – Swish41

+0

О, и, может быть, вы знаете, существует ли какой-либо py для конвертера exe, потому что мне сложно преобразовать его с py2exe и cmd. Еще раз спасибо. – Swish41

+0

Я не знаю о создании .exe, но вы можете взглянуть на http://stackoverflow.com/questions/10592913/how-do-i-convert-a-python-program-to-a-runnable- exe-windows-program. – Joel

Смежные вопросы