[英]problem in writing number in csv file using python
我有这个字符串数组:
my_array = ['5.0', '6.066', '7.5', '7.83', '9.75']
我想在我的 csv 文件中写前 3 项。
我正在使用这段代码
n=0
with open("file.csv",'w',newline="",)as e:
while n<3:
writer=csv.writer(e)
writer.writerow(my_array[n])
n=n+1
output 是:
5,.,0
6,.,0,6,6
7,.,5
但我不想用逗号分隔数字,例如 output 必须是:
5.0
6.066
7.5
我应该怎么办?
writerow()
想要一个可迭代对象,并且该可迭代对象的每个元素都被写为 csv 的一列。因为字符串是可迭代对象,所以该字符串的每个元素(字符)都被写入一个单独的列。 要解决此问题,请将列表传递给writerow()
,该列表仅包含您的单个字符串
你可以这样做:
import csv
my_array=['5.0', '6.066', '7.5', '7.83', '9.75']
with open('example.csv', 'w+') as f:
writer = csv.writer(f)
for elm in my_array[:3]:
writer.writerow([elm])
示例 Output example.csv
:
5.0
6.066
7.5
显然你实际上并不想要 CSV(逗号分隔值)文件,所以不要使用csv
模块。
只需将列表中的每个字符串写入文件中的单独一行即可。
一些选项是:
with open("file.txt", "w") as f:
for value in my_array[:3]:
print(value, file=f)
with open("file.txt", "w") as f:
f.write("\n".join(my_array[:3]))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.