使用python将二维数组转换为csv文件

2024-10-05 13:23:51 发布

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

我想用python将python数组导出到csv文件。但是,我做不到,有人帮我吗?我的示例数据和代码如下所示:

数组:

[[311.11324435763891, 459.35657654562112], [326.9993929036458, 488.02189410927855], [323.19149534625774, 455.74575749903551]]

我想生成这样的csv文件:

{empty} met1 met2 met3

seq1 311.11324435763891 326.9993929036458 323.19149534625774

seq2 459.35657654562112 488.02189410927855 455.74575749903551

我的代码草案是:

^{pr2}$

Tags: 文件csv数据代码示例数组empty草案
2条回答

这不是一个漂亮的解决方案,但可以普遍地解决问题。在

def write_csv_file(filename, data):
    with open(filename, 'w') as f:
        data = list(zip(*data))
        head = ["{empty}"] + ["met{0}".format(i+1) for i in range(len(data[0]))]
        f.write(' '.join(head)+'\n')
        for n, i in enumerate(data):
            line  =["seq{0}".format(n+1)]+[str(x) for x in i]
            f.write(' '.join(line)+'\n')

输出

^{pr2}$

如果您喜欢使用pandas,那么这将起作用:

import pandas as pd

df = pd.DataFrame([[311.11324435763891, 459.35657654562112], [326.9993929036458, 488.02189410927855], [323.19149534625774, 455.74575749903551]]).T

df.columns = ['m1', 'm2', 'm3']
df.index = ['seq1', 'seq2']
df.to_csv("output.csv", )

相关问题 更多 >

    热门问题