1
wangfengmadking 2014-02-27 17:11:55 +08:00
这种大文件,最好用
with open("file_name", 'r') as input: for line in input: #process |
3
exch4nge 2014-02-27 17:19:35 +08:00
疑问:每个用户即使在某个时间段没有记录也需要去输出Log吗?
你那个循环总共循环 月数 * 7 * 24 * 这个User的记录数。肯定会慢吧。。。 你应该按照User的记录进行循环,分析每条记录,分析出是哪月星期几几时,然后原值上加上这条记录的值。 |
4
airbob OP @wangfengmadking @JerryKwan 好的, 我试下with open("file_name", 'r') as input: 然后计算下时间
|
5
airbob OP @exch4nge 嗯,要求是没记录也log,这样每个user有相同数目的data point.
你说的很对,good point! 确实没有必要3个for loop, 可以直接定义个起始都为0 的2D array ( 3 x 8*7*24 ) 来存记录,这样遍历一遍有符合的相加就可以了。 非常感谢! |
6
family 2014-02-27 17:37:33 +08:00
先把文件拆分为方便计算的子文件,可以按照时间一共拆分24个文件,然后统计。
|
7
exch4nge 2014-02-27 17:53:35 +08:00
@airbob 提个建议啊
- python支持 a, b = ['a', 'b'] 这类的赋值。 - 可以开辟array来记录,但中间你需要做字符串--数字的映射关系。如果用dict来记录的话,可以省很多事。 - python中的字符串是不可变的,所以每次outputCONTENT = outputCONTENT + contents[0] 好像会增加内存使用量的。你这例子还好,内存够用,如果再大点,就得注意内存问题了。 |
8
airbob OP |
9
likuku 2014-02-28 00:53:25 +08:00
嗯,dict 或者 dict 的嵌套 作状态记录很方便,查询更新也方便。
|
10
lixm 2014-02-28 09:46:36 +08:00
导入mysql,直接sql查询
|
11
oio 2014-02-28 10:16:01 +08:00
|
13
anguskwan 2014-02-28 17:10:24 +08:00
导入mysql ^ ^
|