---------------------------------------------------------------------------
JSONDecodeError Traceback (most recent call last)
<ipython-input-12-7388d3c65ab7> in <module>
2 fn2 = 'tmp/first_json'
3 convert_big_map2values_jsons(fn1)
----> 4 print('Loaded by index:', load_by_index(256, fn2))
<ipython-input-4-a4397750b172> in load_by_index(index, filename)
24 def load_by_index(index, filename: str):
25 with open(filename + '.index.json', 'r') as f:
---> 26 idx = json.load(f)
27
28 offset = idx[str(index)]
/opt/anaconda3/envs/myenv2/lib/python3.7/json/__init__.py in load(fp, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
294 cls=cls, object_hook=object_hook,
295 parse_float=parse_float, parse_int=parse_int,
--> 296 parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
297
298
/opt/anaconda3/envs/myenv2/lib/python3.7/json/__init__.py in loads(s, encoding, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
346 parse_int is None and parse_float is None and
347 parse_constant is None and object_pairs_hook is None and not kw):
--> 348 return _default_decoder.decode(s)
349 if cls is None:
350 cls = JSONDecoder
/opt/anaconda3/envs/myenv2/lib/python3.7/json/decoder.py in decode(self, s, _w)
335
336 """
--> 337 obj, end = self.raw_decode(s, idx=_w(s, 0).end())
338 end = _w(s, end).end()
339 if end != len(s):
/opt/anaconda3/envs/myenv2/lib/python3.7/json/decoder.py in raw_decode(self, s, idx)
353 obj, end = self.scan_once(s, idx)
354 except StopIteration as err:
--> 355 raise JSONDecodeError("Expecting value", s, err.value) from None
356 return obj, end
JSONDecodeError: Expecting value: line 1 column 1 (char 0)
---------------------------------------------------------------------------
JSONDecodeError Traceback (most recent call last)
<ipython-input-9-4a987f01cad0> in <module>
1 fn = '_hits_test.json' #big_fucking_file.json
2 fn = 'tmp/1.json'
----> 3 convert_big_map2values_jsons(fn)
4 print('Loaded by index:', load_by_index(256, fn))
<ipython-input-4-a4397750b172> in convert_big_map2values_jsons(fn)
6 def convert_big_map2values_jsons(fn):
7 with open(fn) as f:
----> 8 big_data = json.load(f)
9
10 idx = {}
/opt/anaconda3/envs/myenv2/lib/python3.7/json/__init__.py in load(fp, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
294 cls=cls, object_hook=object_hook,
295 parse_float=parse_float, parse_int=parse_int,
--> 296 parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
297
298
/opt/anaconda3/envs/myenv2/lib/python3.7/json/__init__.py in loads(s, encoding, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
346 parse_int is None and parse_float is None and
347 parse_constant is None and object_pairs_hook is None and not kw):
--> 348 return _default_decoder.decode(s)
349 if cls is None:
350 cls = JSONDecoder
/opt/anaconda3/envs/myenv2/lib/python3.7/json/decoder.py in decode(self, s, _w)
335
336 """
--> 337 obj, end = self.raw_decode(s, idx=_w(s, 0).end())
338 end = _w(s, end).end()
339 if end != len(s):
/opt/anaconda3/envs/myenv2/lib/python3.7/json/decoder.py in raw_decode(self, s, idx)
353 obj, end = self.scan_once(s, idx)
354 except StopIteration as err:
--> 355 raise JSONDecodeError("Expecting value", s, err.value) from None
356 return obj, end
JSONDecodeError: Expecting value: line 1 column 1 (char 0)
fn = 'big_fucking_file.json'
fn = 'tmp/1.json'
Вы как-то умудрились его собрать и сохранить, а значит оперативки вам хватит (наверно своп помог), однако даже одно чтение будет занимать чудовищное время.
Но в задаче не сказано, что отдельные треки одного событий идут подряд и отдельные координаты одного трека тоже идут подряд.
{
"256": {
"event_id": 256,
"tracks": {
"0": {
"coordinates": [
{
"x": -7.942855253805373e-275,
"y": 6.303619193466582e-17,
"z": 8.500503648212859e-45
}
]
}
}
}
}
while len(bytes) == 28:
. Верна ли такая запись?---------------------------------------------------------------------------
error Traceback (most recent call last)
<ipython-input-8-222c575c6e2a> in <module>
7 buffer = fp.read(28)
8 while len(bytes) == 28:
----> 9 event_id, track_id, x, y, z = struct.unpack(">HHddd", buffer)
10 buffer = fp.read(28)
11
error: unpack requires a buffer of 28 bytes
bytes
на buffer
, то код работает без ошибок.Уточните задачу и можно будет оптимизировать решение по памяти перейдя к потоковой выдаче.
select max(t1.c1), min(t2.c1)
from (select regexp_split_to_table(concat('01.01.2019'::date, ';','31.05.2019'::date), ';') as c1) t1,
(select regexp_split_to_table(concat('01.03.2019'::date, ';', '31.12.2019'::date), ';') as c1) t2
Просьба, ссылки кидать на инфу/видео с тремя тысячами страниц не кидать (я сижу на 3g, который в свою очередь раздается с телефона, гугл шарить при таком интернете - не есть удобно, имейте уважение), а если и кидать, то лучше уже сайт, где все расписано.
Ага, а ссылку кинуть для инфы? Нет?
ctrl + k, d
timeCreditText
?
Думаете, в два раза быстрее ответят?