python +编写正确的CSV格式

时间:2015-07-26 08:32:13

标签: python linux

以下python简单程序,

从用户那里获取用户数

每位用户都询问 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)更新后的代码(根据Burhan Khalid所说)

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()

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分:1)

您可以在python中使用csv writer,如下所示:

import csv

...

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

这样,您就不必将数组转换为字符串。