我期待这样的工作:
from odo import odo
import pandas as pd
odo('jsonlines://offentliggoerelser.jsonl', pd.DataFrame)
然而,我得到一个异常
NotImplementedError: Unable to parse uri to data resource: jsonlines://offentliggoerelser.jsonl
行分隔的JSON文件是一个相当简单的文件
{'regNummer': None, 'cvrNummer': 29443920, 'startDato': '2013-07-01', 'dokumentType': 'AARSRAPPORT', 'sidstOpdateret': '2015-01-01T23:00:00.000Z', 'omgoerelse': False, 'sagsNummer': '14-318.972', 'indlaesningsTidspunkt': '2015-04-11T19:22:58.117Z', 'indlaesningsId': None, 'dokumentUrl': 'http://regnskaber.virk.dk/02934492/eGJybHN0b3JlOi8vWC1CMzBFRjcxNi0yMDE1MDEwMV8xNjAwMDBfMjA2L3hicmw.xml', 'offentliggoerelsesTidspunkt': '2015-01-01T23:00:00.000Z', 'slutDato': '2014-06-30'}
{'regNummer': None, 'cvrNummer': 31785219, ...
...
出现同样的错误odo('offentliggoerelser.jsonl', pd.DataFrame)
和
odo('json://offentliggoerelser.jsonl', pd.DataFrame)
这里有一些其他的例子
from blaze.utils import example
odo(example('iris.csv'), pd.DataFrame) # works
odo(example('iris.csv'), "json://iris.json") # works
odo(example('iris.csv'), "jsonlines://iris.jsonl") # fails
我的odo是0.5.0
显然文件扩展名很重要。如此:
odo(example('iris.csv'), "jsonlines://iris.json")
将我的offentliggoerelser.jsonl
重命名为offentliggoerelser.json
可以让我通过NotImplementedError
。