【发布时间】:2016-12-27 16:05:16
【问题描述】:
我是 Python 新手,如果这很简单,请原谅。我有一个 csv 文件,其中包含如下数据:
Symbol,date,price
apple, 23/12/2016, 50
apple, 26/12/2016, 51
apple, 27/12/2016, 52
google,23/12/2016, 70
google,26/12/2016, 71
google,27/12/2016, 72
我需要编写一个新的 csv 文件,如下所示:
Date, apple, google
23/12/2016,50,70
26/12/2016,51,71
27/12/2016,52,72
我目前的代码如下。但是,我似乎无法将符号作为列显示。
import csv
import os
csv.register_dialect(
'mydialect',
delimiter =',',
)
symbol, date=[],[]
with open('EB_CUT2.csv',"rt") as dfile:
thedata = csv.reader(dfile, dialect ='mydialect')
for row in thedata:
if row[4] not in date:
date.append(row[4])
if row[0] not in symbol:
symbol.append(row[0])
dfile.close()
ebout = open('EB_CUT.csv',"wt",newline='')
wr = csv.writer(ebout)
for val in date:
wr.writerow([val])
ebout.close()
【问题讨论】:
-
请格式化您的 csv 文件,以便我们更好地帮助您
-
Pandas 非常适合这种事情。
-
这不是转置。转置意味着交换行和列,所以如果你有一个
NxM矩阵,你会得到MxN。在您的示例中,某些列已消失。 -
你的输出没有意义。
-
谢谢,是的,看起来 Pandas 是最好的选择。
标签: python python-3.x csv pivot