2015-07-26 5 views
0

Следующая питон простая программа,питон + написать правильный CSV формат

получить от пользователя число пользователей

И каждый пользователь спросил о UserAge, UserID, UserSalry

Наконец, пользователи детали будут записывать в файл CSV

, но в файле CSV я вижу этот формат

['34','3245353','2312$'] 

В месте, чтобы получить этот формат:

34,3245353,2312$ 

Пожалуйста, советы, что мне нужно изменить в своем коде, чтобы получить следующий формат

34,3245353,2312$ 

.

мой код Python:

userinput = input ("print the number of users:") 
NumbersOfUsers = int(userinput) 

counter = 0 
array = [] 

while counter < NumbersOfUsers : 

list = ('UserAge','UserID','UserSalry') 

    for index in list: 
     A = input (index) 
     array.append(A) 
     UserAge = int(A) 
    counter = counter + 1 

print (array) 

arrResults=str(array) 


file = open('file.csv','w') 
file.write(arrResults) 
file.close() 

.

(пример 2) кода после обновления (в соответствии с Бурхан Халида)

userinput = input ("print the number of users:") 
NumbersOfUsers = int(userinput) 

counter = 0 


while counter < NumbersOfUsers : 

    Listarr = ('UserAge','UserID','UserSalry') 

    for index in Listarr: 
     A = input (index) 
     array.append(A) 
    counter = counter + 1 

print (array) 



file = open('file.csv','w') 
file.write(','.join(array)) 
file.close() 

ответ

1

Ваша проблема в том, что вы делаете это arrResults=str(array) - который преобразует массив в строковое представление, и что включает в себя [ ] ,

Вам не нужно делать это на всех, просто:

file = open('file.csv', 'w') 
file.write(','.join(array)) 
file.close() 

Не используйте list в качестве имени переменной, как это имя встроенной функции.

И, наконец, эта строка: UserAge = int(A) ничего полезного не делает, вы можете удалить ее из своего кода.

Если это не домашнее задание, вы должны использовать csv модуль:

import csv 

with open('file.csv', 'w') as f: 
    writer = csv.writer(f, delimiter=',') 
    writer.writerows(array) 
+0

привет Халид, см. Мое обновление, но на примере 2 я все равно получаю те же результаты - :( – maihabunash

+1

Исправьте отступ в коде. –

+0

Я обновляю свой код (с правильной идентификацией) – maihabunash

1

Вы можете использовать CSV писатель в питона следующим образом:

import csv 

... 

with open('file.csv', 'wb') as write_file: 
    file_writer = csv.writer(write_file) 
    file_writer.writerow(array) 

Таким образом, вы не будете иметь для преобразования массива в строку.

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