我是脚本新手。我有一个表(Table1.txt),我需要创建另一个表,该表的Table1行按列排列,反之亦然。我已经找到了针对Perl和SQL而不是针对Python的解决方案。
Table1.txt
我两天前才开始学习Python,所以据我所知:
import csv import sys with open(sys.argv[1], "rt") as inputfile: readinput = csv.reader(inputfile, delimiter='\t') with open("output.csv", 'wt') as outputfile: writer = csv.writer(outputfile, delimiter="\t") for row in readinput: values = [row[0], row[1], row[2], row[3]] writer.writerow([values])
这只是将列复制为列。我现在想做的是将最后一行写为,writer.writecol([values])但是似乎没有这样的命令,而且我还没有找到将行写为列的另一种方法。
writer.writecol([values])
通常,转置可迭代序列的解决方案是:zip(* original_list)
样本输入:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
程序:
with open('in.txt') as f: lis = [x.split() for x in f] for x in zip(*lis): for y in x: print(y+'\t', end='') print('\n')
输出:
1 6 11 2 7 12 3 8 13 4 9 14 5 10 15