正如标题所说,我想使用python将二维数组写入带有分隔符','的csv文件.我的数组看起来像这样(ndarray):
a= [[1,2,3,4],[5,6,7,8]]
Run Code Online (Sandbox Code Playgroud)
我希望输出看起来像:
1,2,3,4
5,6,7,8
with open('./data/positive.csv','wb') as myfile:
wr = csv.writer(myfile) #, quoting=csv.QUOTE_ALL)
wr.writerow(a)
Run Code Online (Sandbox Code Playgroud)
我该如何做到这一点?
我已经尝试过这个解决方案,但由于我在''行'中放错了's'而导致我的数组写入单行而不是多行,因此无效.
voi*_*oid 17
使用csv
模块import csv
也可以记下您可能需要的writerow()
或者writerows()
.
你可能会问有什么不同?
writerow需要一个可迭代的单元格来编写:
writerow([1,2,2])
->
1,2,2
Run Code Online (Sandbox Code Playgroud)
writerows使用可迭代的单元格迭代来编写:
writerows([[1,2,3],
[4,5,6],
[6,7,8]])
->
1,2,3
4,5,6
6,7,8
Run Code Online (Sandbox Code Playgroud)
哪个可以作为变量给出.喜欢
a = [[1,2,3],[4,5,6],[6,7,8]]
writerows(a)
Run Code Online (Sandbox Code Playgroud)
结论写作者获取一维数据(一行),写作者获取二维数据(多行).
你的计划:
import csv
a = [[1,2,3,4],[5,6,7,8]]
with open("new_file.csv","w+") as my_csv:
csvWriter = csv.writer(my_csv,delimiter=',')
csvWriter.writerows(a)
Run Code Online (Sandbox Code Playgroud)
注意open()
这里有两个参数要写入的文件和模式.
你可能会问什么模式?
它指定了如何打开文件.在我的情况下w+
意味着打开文件,my_file.csv
如果它存在,如果它不存在然后罚款创建一个新文件并写入.
有几种模式可供选择.注意:w+
每次使用时都会覆盖.那将是文件中的旧数据将被覆盖,因此如果您只想附加使用a
.有关模式的更多详细信息,请查看此内容.文件模式
假设a是一个numpy数组,
import numpy
a= [[1,2,3,4],[5,6,7,8]]
numpy.savetxt('output.csv',a,delimiter=",")
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
19257 次 |
最近记录: |