Python转置函数只转置2行

时间:2017-02-02 19:55:46

标签: python

我需要帮助使用python将行转换为列。

我使用此脚本转置csv文件:

import csv

data = zip(*csv.reader(open("lamp_headersimplified.csv", "rb")))
csv.writer(open("lamp1.csv", "wb")).writerows(data)

我使用一个大的.csv文件来测试它,每行有> 5000行和不同的列数,但结果与我的预期不符。

示例csv文件:

a , 1 , 2 , 3 ,
b , 2 , 4 , 6 , 8
c , 3 , 6 ,   ,  
d , 4 ,

我得到的结果:

a , b , c , d
1,  2 , 3 , 4

我想要的结果:

a , b , c , d
1 , 2 , 3 , 4
2 , 4 , 6 
3 , 6 
    8

我需要在脚本上添加任何内容吗? 谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

使用pandas,你可以试试这个:

import pandas as pd
df = pd.read_csv('lamp_headersimplified.csv', header=None)
df.transpose().to_csv('lamp1.csv', header = False, index=False)

在输入时输入以下输出csv

a,b,c,d 
1,2,3,4
2,4,6,
3,6, ,
 ,8, ,