我需要帮助使用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
我需要在脚本上添加任何内容吗? 谢谢你的帮助。
答案 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, ,