我有一个csv文件叫做示例.csv包含以下内容数据:-你知道吗
2014-07-18 01:00:00,UNKNOWN,UNKNOWN,UNKNOWN,UNKNOWN,10002
2014-07-18 01:00:00,UNKNOWN,UNKNOWN,UNKNOWN,UNKNOWN,10003
2014-07-18 01:15:00,UNKNOWN,UNKNOWN,UNKNOWN,UNKNOWN,10004
2014-07-18 01:15:00,UNKNOWN,UNKNOWN,UNKNOWN,UNKNOWN,10005
2014-07-18 01:30:00,UNKNOWN,UNKNOWN,UNKNOWN,UNKNOWN,10006
2014-07-18 01:30:00,UNKNOWN,UNKNOWN,UNKNOWN,UNKNOWN,10007
2014-07-18 01:45:00,UNKNOWN,UNKNOWN,UNKNOWN,UNKNOWN,10008
2014-07-18 01:45:00,UNKNOWN,UNKNOWN,UNKNOWN,UNKNOWN,10009
我正在尝试编写一个python脚本来读取这个csv文件中的所有行,我希望它读取这里的“01”小时,将小时作为主键,然后将分钟作为子键,其余字段作为它的值。你知道吗
这是我的密码代码段:-你知道吗
def connection():
os.chdir("record_output/")
mydict = {}
for files in glob.glob("*.csv"):
fo = open(files, "r")
data = fo.readlines()
for lines in data:
lines = lines.split(',')
dateObject = datetime.strptime(lines[0],"%Y-%m-%d %H:%M:%S")
hour = dateObject.hour
minute = dateObject.minute
fields = lines[1:]
这里我得到了hour,minute和剩余的字段,但是在创建所需的输出时有点困难,它将hour作为主键,minute作为子键,相应的字段作为值,以此类推,在该小时的每分钟,即'00'、'15'、'30'和'45',以及每小时。目前只有1小时在这个csv文件,在未来可以有超过1小时。你知道吗
csv模块解决方案
在插入新值之前检查键是否存在(这将在las循环中)
没有检查,但应该工作。应该让你这样做:
1表示小时,33和34表示分钟,22和25表示值(可以是字符串或其他形式)
EDIT:True,minutes必须是数组才能在同一分钟内存储多个值,因此对minutes执行相同的操作,如下所示:
所以输出应该是这样的:
编辑二:最终代码为:
如果不起作用,请检查回路:
并尝试更改:
一个叫做
把打印出来调试程序。你知道吗
相关问题 更多 >
编程相关推荐