【问题标题】:Write a float array to a CSV file将浮点数组写入 CSV 文件
【发布时间】:2015-09-11 00:22:30
【问题描述】:

我有一个浮点数组(创建者:array('f')),我想将它的内容写成一个 1 列的 CSV 文件,也就是说,数组的每个元素将占用结果文件的一行。

from array import array

my_array = array('f')
with open(filename, 'w') as output:
    my_array = populate_method()
    writer = csv.writer(output)
    print(my_array)  # verifying that the data exist
    writer.writerows(my_array.tolist())

我在最新一行收到此错误:_csv.Error: sequence expected
怎么了?列表不是序列吗?

【问题讨论】:

    标签: python arrays csv


    【解决方案1】:

    为什么...你可以写它

    with open("outfile","wb") as f:
         f.write("\n".join(str(x) for x in my_list))
    

    您的原始代码的问题是 writerows 需要一个二维列表,而您只是给它一个一维列表,因此 或者,您可以使用

    将您的 1d 列表转换为 1column 2d 列表
    my_list_i_can_use_with_writerows = zip(*[myList])
    

    【讨论】:

    • 直接写是我的第一次尝试,但没有想出 "\n".join 语法,所以所有元素都在一行中。一些后续问题: 1. 为什么 write_rows 需要一个 2D 列表? 2、能否详细说明zip(*[myList])的语法?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-31
    • 1970-01-01
    • 2013-05-22
    • 2014-09-30
    • 2019-10-31
    • 2017-11-11
    相关资源
    最近更新 更多