【发布时间】:2015-08-28 18:00:46
【问题描述】:
我有一个 CSV 文件,格式为两行,其中包含 24 小时的数据: (逗号分隔。我没有在我的原始问题中指定这一点,抱歉!)
Site ID,Meter Reference,Date,Units,00:30,A,01:00,A,01:30,A,02:00,A,02:30,A,03:00,A,03:30,A,04:00,A,04:30,A,05:00,A,05:30,A,06:00,A,06:30,A,07:00,A,07:30,A,08:00,A,08:30,A,09:00,A,09:30,A,10:00,A,10:30,A,11:00,A,11:30,A,12:00,A,12:30,A,13:00,A,13:30,A,14:00,A,14:30,A,15:00,A,15:30,A,16:00,A,16:30,A,17:00,A,17:30,A,18:00,A,18:30,A,19:00,A,19:30,A,20:00,A,20:30,A,21:00,A,21:30,A,22:00,A,22:30,A,23:00,A,23:30,A,00:00,A
Building,A,12/06/15,kWh,1,A,2,A,2,A,1,A,2,A,2,A,1,A,2,A,2,A,1,A,2,A,2,A,1,A,2,A,2,A,1,A,2,A,1,A,2,A,2,A,2,A,1,A,2,A,2,A,0,A,1,A,0,A,1,A,3,A,2,A,2,A,1,A,0,A,0,A,0,A,1,A,0,A,0,A,0,A,1,A,0,A,0,A,0,A,1,A,0,A,0,A,0,A,1,A
我需要将其转换为可以在另一个进程中使用的格式。其中包含完整的时间戳、值和 Building ref。我将把它推送到 MySQL 表中。
Building, Kwh, Timestamp
A, 2, 12/06/15 00:30
A, 3, 12/06/15 01:00
A, 4, 12/06/15 01:30
A, 4, 12/06/15 02:00
A, 2, 12/06/15 02:30
A, 3, 12/06/15 03:00
我尝试使用它来透视数据:
import csv
from itertools import izip
a = izip(*csv.reader(open("Logger.csv", "rb")))
csv.writer(open("Long.csv", "wb")).writerows(a)
但这给了我四行以上的标题和两行以上的数据。 今天才从 Python 开始,我可以修改导入 csv 以使转换更清晰。
我尝试运行第二个 python 文件来附加每一行以添加时间戳,并删除其中包含“A A”的行。我知道这不是正确的方法并寻求指导。
这是我目前的结果
Site ID Building
Meter Reference A
Date 11/06/15
Units kWh
00:30 2
A A
01:00 2
A A
01:30 2
A A
02:00 2
A A
02:30 2
A A
03:00 3
感谢任何帮助
【问题讨论】: