python - 将二维数组写入带分隔符的 csv 文件

标签 python arrays

<分区>

正如标题所说,我想使用 python 将二维数组写入带有分隔符“,”的 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)

我该如何实现?

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

最佳答案

通过 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取一维数据(一行),writerows取二维数据(多行)。

你的计划:

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+ 会在您每次使用时覆盖。那是文件中的旧数据将被覆盖,因此如果您只想追加,请使用 a。看看这个关于模式的更多细节。 File modes

关于python - 将二维数组写入带分隔符的 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44691524/

相关文章:

python - 添加到数据集后重新训练 pybrain 神经网络

python - 如何避免立方和绝对值对数的数值溢出?

python - 来自 Visual C# Express IDE/C# 编程背景,是否有创建 python 应用程序的教程?

php - 可扩展的异步图像大小调整

php - 通过特定值的最大值从多维数组返回值

c++ - 使用引用与指针将数组作为参数传递

arrays - 埃拉托色尼筛法

javascript - TypeScript for 循环中数组中未定义的项目

arrays - 如何在awk中初始化数组的数组?

python - 如何将我自己的类对象存储到hdf5中?