我需要帮助在转置行到列使用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
我需要在脚本中添加什么吗?谢谢你的帮助。
发布于 2017-02-02 20:27:31
使用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, ,
https://stackoverflow.com/questions/42011183
复制