当前位置: 首页 > 面试题库 >

如何在csv表中进行行到列的数据转置?

萧卜霸
2023-03-14
问题内容

我是脚本新手。我有一个表(Table1.txt),我需要创建另一个表,该表的Table1行按列排列,反之亦然。我已经找到了针对Perl和SQL而不是针对Python的解决方案。

我两天前才开始学习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])但是似乎没有这样的命令,而且我还没有找到将行写为列的另一种方法。


问题答案:

通常,转置可迭代序列的解决方案是: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


 类似资料:
  • 我有一个pandas数据帧像: 我想按第一列进行分组,并将第二列作为行中的列表:

  • 我正在将SQL查询的结果写入Excel工作表,并尝试将行转换为列,但似乎无法让Pandas移动;Excel似乎存在某种难题。我看过: 如何在数据帧中切换列和行 在groupby之后,如何将dataframe中的行值转换为Python中的列标签? 在Python中将列转换为行 Python:将行转换为列标题 似乎都不起作用。 Excel表格: 请求:

  • 问题内容: 我想转置HTML表格中的行和列,即将行作为列,将列作为行。 我可以用什么方式做到这一点? 范例: 如 问题答案: HTML: js:

  • 我试图通过DF透视数据,但是我对如何继续下面的操作感到困惑。 以上是我的原始数据,我希望我的数据帧枢轴有状态列的总数,如下所示。 MP已关闭已解决分配 然而,我不确定如何在pandas中实现,因为pivot只反映状态的总计数,而不是每个值。

  • 问题内容: 例如,我想转换: 进入: 编辑:原始问题不正确地使用术语“转置”。 问题答案: 如果整个文件内容都适合内存,则可以使用 您基本上可以将其视为转置操作: 避免立即复制数据,但基本上会这样做。

  • 问题内容: 我有以下清单 我想根据其子列表的长度对列表进行排序。结果应为: 问题答案: 使用和中可用的参数。它指定一个参数的功能,该参数用于从每个列表元素中提取比较键