有没有办法在csv文件中创建列标题而不是使用python创建行标题

时间:2016-01-20 19:12:37

标签: python csv

我使用以下方法创建行标题:

let nib = UINib(nibName: "InputToListCell", bundle: nil)
tableView.registerNib(nib, forHeaderFooterViewReuseIdentifier:"InputToListCell")

override func tableView(tableView:UITableView, viewForHeaderInSection section:NSInteger) -> UIView{
    let header = tableView.dequeueReusableHeaderFooterViewWithIdentifier("InputToListCell")
    return header!;
}

在上面的代码中,当我们创建标头时,默认情况下它会创建行标题。但有没有办法创建列标题,即第一列是标题列,其余列是测试结果。

1 个答案:

答案 0 :(得分:1)

为了满足您的需求,您需要准备好所有数据。写入文件时,它一次只能是一行,不可能一次写入一列。因此,您需要采取以下方法:

import csv

out_file = 'output.csv'
header_names = ["Test Number", "result", "output_value","duration_of_test"]

data = [[1, 5, 10, 20], [2, 6, 20, 25], [3, 7, 8, 15]]
data.insert(0, header_names)

with open(out_file, 'wb') as f_output:
    csv_output = csv.writer(f_output)
    csv_output.writerows(zip(*data))

data保存所有测试结果的位置。首先,header_names被添加到数据列表的开头。然后使用Python的zip函数的技巧将您的数据转换为您正在寻找的格式。

这会给你以下类型的输出:

Test Number,1,2,3
result,5,6,7
output_value,10,20,8
duration_of_test,20,25,15