带有CSV文件格式
Name X Y L W
alpha 100 200 50 20
beta 200 250 30 40
...
我们如何将CSV转换为格式
Name X Y L W Name X Y L W
alpha 100 200 50 20 beta 200 250 30 40
最大行数(不包括标头)为4。有人可以指导如何为这种情况和zip构建动态字典,以便使用python以上述格式获得结果吗?
答案 0 :(得分:1)
如果数据量不大,则简单易懂的脚本。
import csv
rd = csv.reader(open("input.csv"), delimiter=' ', quoting=csv.QUOTE_MINIMAL, skipinitialspace=True)
header = rd.next()
wr = csv.writer(open("output.csv", "w"), delimiter=' ')
data_lines = 0
data = []
for line in rd:
data += line
data_lines += 1
wr.writerow(header*data_lines)
wr.writerow(data)
skipinitialspace=True
用于删除定界符中的多余空间(考虑到输入csv被' '
分隔)。
答案 1 :(得分:0)
您可以使用熊猫:
import pandas as pd
# read file
df = pd.read_csv('file.csv')
# split by row and concatenate along columns
res = pd.concat([df.iloc[[i]].reset_index(drop=True) \
for i in range(len(df.index))], axis=1)
# export to csv
res.to_csv('out.csv', index=False)
2行的结果:
Name X Y L W Name X Y L W
0 alpha 100 200 50 20 beta 200 250 30 40