2016-06-06 4 views
2

제목 말한다 그것을 의 가장하지만 해당 개체는 다음과 같습니다, 나는 오류 "AttributeError를 'DICT'객체 'endswith'에는 속성이 없습니다"얻을

>>> import dask.bag as db 
>>> b = db.from_sequence([{'name': 'Alice', 'balance': 100}, 
...      {'name': 'Bob',  'balance': 200}, 
...      {'name': 'Charlie', 'balance': 300}], 
...      npartitions=2) 

하지만, 내가

>>> b.to_textfiles('*.json') 

을하려고 할 때 얻을

AttributeError: 'dict' object has no attribute 'endswith' 

Traceback 
--------- 
    File "/Users/jlatmann/anaconda/envs/python3/lib/python3.5/site-packages/dask/async.py", line 267, in execute_task 
    result = _execute_task(task, data) 
    File "/Users/jlatmann/anaconda/envs/python3/lib/python3.5/site-packages/dask/async.py", line 249, in _execute_task 
    return func(*args2) 
    File "/Users/jlatmann/anaconda/envs/python3/lib/python3.5/site-packages/dask/bag/core.py", line 1025, in write 
    if not (firstline.endswith(os.linesep) or firstline.endswith('\n')): 

DASK 버전 : 0.9.0

보고에 대한

sys.version

3.5.1 |Anaconda 4.0.0 (x86_64)| (default, Dec 7 2015, 11:24:55) [GCC 4.2.1 (Apple Inc. build 5577)]

감사합니다!

답변

1

to_textfiles 함수는 bag 요소가 문자열이라고 가정합니다. 내가 JSON 형식으로 명시 적으로

b.map(json.dumps).to_textfiles('*.json') 
+0

에 데이터를 덤프하여 출력 파일은 JSON 것을 주어진

b.map(str).to_textfiles('*.json') 

첫 번째 또는 더 나은 아직 가방에 매핑 str을 권장하지만, 감사를. 그리고 dask에 감사드립니다. 문서를 검토 할 때, 그것이 얼마나 명백한 것인지 다시 한번 생각해 보았지만, 나는 겸손하게 수정안을 제안 할 것입니다. – JMann

+0

변경 사항과 함께 빠른 요청을 제출해 주시면 감사하겠습니다. – MRocklin

+1

. (나는이 일을 정돈 할 필요가있다. 나는 아직하지 않았다 : 또 다른, 매우 관련된, 문제를 가지고있다. ...) – JMann