使用delimi将2d数组写入csv文件

2024-05-29 11:44:24 发布

您现在位置:Python中文网/ 问答频道 /正文

如标题所示,我想使用python将一个2D数组写入带有分隔符''的csv文件。我的数组如下(ndarray):

a= [[1,2,3,4],[5,6,7,8]]

我希望输出如下:

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)

我该怎么做?

我已经尝试过这个解决方案,但它不起作用,因为我在“row”中放错了“s”,它使数组写入一行而不是多行。


Tags: 文件csv标题dataaswith数组open
1条回答
网友
1楼 · 发布于 2024-05-29 11:44:24

通过import csv使用csv模块还要注意您可能需要writerow()writerows()

你可能会问有什么不同?

writerow需要大量单元格来写入:

writerow([1,2,2])
->
1,2,2

writerows需要大量的单元格来编写:

writerows([[1,2,3],
           [4,5,6],
           [6,7,8]])
->
1,2,3
4,5,6
6,7,8

当然可以作为变量给出。就像

a = [[1,2,3],[4,5,6],[6,7,8]]
writerows(a)

结论writerow采用一维数据(一行),writerow采用二维数据(多行)。

您的计划:

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)

注意open()这里有两个参数要写入的文件和模式。

你可以问什么模式?

它指定如何打开文件。在我的例子中w+意味着打开文件my_file.csv,如果它存在,如果它不存在,那么可以创建一个新文件并写入。

有几种模式可供选择。注意:w+每次使用时都会覆盖它。文件中的旧数据将被覆盖,因此如果您只想附加usea。有关模式的更多详细信息,请参阅此页

相关问题 更多 >

    热门问题