使用Python cvs modu生成相同的表

2024-04-24 03:24:58 发布

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

我在做一个项目,研究不同的排序算法。我已经有了一个数据生成脚本,它可以计算所有的时间。我需要将这些数据放入一个表中(我使用的是OriginPro 8),比如: Origin Table 但是我应该用Python脚本写些什么,所以当我导入.csv文件时,它看起来就像这个表?你知道吗

现在我有这样的结构:

{'bubble_sort': {'BEST': {'COMP': 999000, 'PERM': 0, 'TIME': 1072.061538696289},
             'RND': {'COMP': 999000,
                     'PERM': 249853,
                     'TIME': 1731.0991287231445},
             'WORST': {'COMP': 999000,
                       'PERM': 499500,
                       'TIME': 2358.1347465515137}},
'hoare_sort': {'BEST': {'COMP': 10975, 'PERM': 0, 'TIME': 14.000654220581055},  #and so on

下面的代码可以保存它:

def write_csv_in_file(fn, data):
with open(fn + ".cvs", 'w') as file:
    writer = csv.writer(file)
    for key, value in data.items():
        writer.writerow([key, value])

导入后获取此表: Bad table 它离我需要的变种很远。你知道吗

我想要的是:

假设这些数据是在长度为100的最佳情况数组上收集的。那么对于第一个表的第一行,应该有来自['bubble_sort']['BEST']['TIME']['hoare_sort']['BEST']['TIME']等的值。然后我会为最坏情况(["WORST"])、随机(["RND"])创建相同的表,然后对比较数(["COMP"])和完成的排列(["PERM"])重复所有操作


Tags: csv数据in脚本timesortfilewriter