以下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()
答案 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)
这样,您就不必将数组转换为字符串。