1 whileFalse 2020-03-20 13:32:08 +08:00 via iPhone 不考虑数据库吗 |
2 cherishxyn OP @whileFalse 如果真的要用数据库,我就在多花些时间,我用的功能不复杂,谢谢您的回复 |
![]() | 3 ipwx 2020-03-20 13:35:17 +08:00 。。。你先随便找个格式存储,每过一天批量转换成 excel 不就行了??? |
OP @ipwx 你的意思是,比如果存储成 json,如果不停的向里面添加数据,数据多了会卡吗,是不是每次添加数据前都要打开,这样随着数据多,是不是意味着就卡了 |
5 bearqq 2020-03-20 13:41:55 +08:00 via Android 建议存.csv ,格式了解一下 同时数据量到一定时候就分文件 处理大量数据也不建议用 excel,建议自己撸 python 数据注重查询的话可以用数据库,否则直接存文件也没问题 |
![]() | 6 ipwx 2020-03-20 13:42:07 +08:00 |
![]() | 7 Juszoe 2020-03-20 13:42:16 +08:00 via Android sqlite 不知道符不符合你的需求 |
![]() | 8 ipwx 2020-03-20 13:42:18 +08:00 另外每天换一个文件。 |
![]() | 9 loading 2020-03-20 13:43:57 +08:00 via Android 存 sqlite 或者更粗暴存 txt, 一个数据一行,文本好分析,配合文本工具,多大文件都能秒开。 |
![]() | 10 loading 2020-03-20 13:45:06 +08:00 via Android 你只要花几分钟看看 python 如何读一个文件就行了,按行读取。 |
11 cherishxyn OP @ipwx 因为我想着如果掉点了,就没了,不过,现在想来,省事的话就可以用这种,毕竟我要求不是特别严格,只不过占些内存而已,看大家的回答,我想这几天在学习下数据库 |
![]() | 12 ipwx 2020-03-20 13:46:10 +08:00 |
![]() | 13 mazyi PRO 这不是 python 的问题,是设计问题 |
![]() | 14 ipwx 2020-03-20 13:46:56 +08:00 @cherishxyn 而且文件缓冲区是固定的,不是说 f.close 之前就不存任何数据进去,而是 f.close 之前没打满缓冲区或者没调用 .flush() 就不写入。超过缓冲区大小会写入一批的。 |
![]() | 15 loading 2020-03-20 13:56:38 +08:00 via Android 物联网用的多的是时序数据库,你了解一下,应该很适合你。 |
16 cherishxyn OP @ipwx 谢谢,明白了 |
17 Ediacaran 2020-03-20 13:59:37 +08:00 via iPhone Append csv 文件 |
18 cherishxyn OP @loading 感谢仁兄的传授 |
19 cherishxyn OP @bearqq 谢谢 |
20 qile1 2020-03-20 17:46:38 +08:00 via Android 检验科仪器每天都传输数据,一般通用方法是保存一份 txt 文件,同时解析一份结果保存一份到数据库 |
![]() | 21 iceecream 2020-03-20 17:55:52 +08:00 csv 不香吗,既可以 tail、cat、awk 当文本打开,也可以走 excel |
![]() | 22 Vegetable 2020-03-20 18:05:20 +08:00 csv,sqlite 这两个。 别 Excel,Excel 行数有上限,一百多万行。.xls 只有 65535 行。操作 Excel 也需要更多内存,速度会比想象的慢,OOM 也来的更早。 |
23 littlewing 2020-03-20 18:06:54 +08:00 via iPhone sqlite |
![]() | 24 shm7 2020-03-20 19:34:01 +08:00 via iPhone 没吃过没看过很多日志采用滚动记录的方式么,每个日志文件设定上限 size… 数字的话当文本存 txt csv flush 一下 多写几个 try catch |
25 ackoly 2020-03-20 19:40:26 +08:00 via iPhone csv 加 pandas 不香吗 |
![]() | 26 bitdust 2020-03-20 20:13:05 +08:00 python 内置的 log 库,很香的。 1.自定义格式 2.做滚动存储 3.远程存储 4.自动打时间戳 |
![]() | 27 sintrb 2020-03-20 21:53:47 +08:00 用 csv 吧,csv 有个好处是格式简单,能够直接用 excel 打开。 用追加模式打开 csv 文件,不停的往里面写入数据就行,写了之后 flush 一下,防止掉电丢失,类似下面的: import time, random, datetime, io def read(): return random.random() with io.open('/tmp/t.csv', 'a', encoding='utf8') as f: while True: v = read() l = '%f,%f\n' % (time.time(), v) if type(l) != type(u''): l = l.decode('utf8') f.write(l) f.flush() time.sleep(1) |
![]() | 29 sintrb 2020-03-20 21:59:50 +08:00 @sintrb 把下划线换成空格 import time, random, datetime, io def read(): __return random.random() with io.open('/tmp/t.csv', 'a', encoding='utf8') as f: __while True: ____v = read() ____l = '%f,%f\n' % (time.time(), v) ____if type(l) != type(u''): ______l = l.decode('utf8') ____f.write(l) ____f.flush() ____time.sleep(1) |
30 cherishxyn OP @sintrb 非常有用,谢谢,就用这个方式了。后面我继续学习数据库,到时候再从新做一个。楼上很多人说的非常实用,感谢,学习很多 |
31 cherishxyn OP @Vegetable 学习了,感谢 |
32 cherishxyn OP @bitdust 这个对我来说是新东西,我会去查看的,谢谢回复 |
33 cherishxyn OP 我还有个问题想问下,就是大家回复的对我很有帮助,我是否有必要在下面一一回复感谢,回复多了,整个页面很多客套话,后来人也不便阅读,不回复显得不礼貌,该怎么办呢 |
34 jianghu52 2020-03-21 12:47:58 +08:00 @cherishxyn 你可以最后回帖的时候 @一圈人,感谢一下就行了.另外,如果可能的话,最好把你最后修改之后的结果也贴上来,这样很多人还会帮你看看哪里还有不足. |
35 cherishxyn OP @jianghu52 好的,我现在最开始构思的,估计还要一段时间做出来,谢谢 |
36 cherishxyn OP ![]() |
![]() | 37 loading 2020-03-23 13:38:03 +08:00 via Android @cherishxyn 每层楼都有一个空心的爱心,点一下。 |