2017-11-29 2 views
0

나는 pandas.read_csv dtypes 매개 변수를 채우기 위해 YAML 파일에서 섹션을로드하고 싶습니다. 내 문제는 사전에있는 값이 주변에 있고 팬더가 그것을 데이터 유형으로 인식하지 못한다는 것입니다. 내가 YAML 파일의이 부분을 인쇄 할 경우yaml에서 팬더 dtypes 사전

Yaml: 
    dict: {ITEM_GROUP: object, ITEM: object} 

import pandas as pd 
with open(yaml_org_path, 'r') as f: 
    config = yaml.load(f) 
df = pd.read_csv('file.csv', dtypes= config['Yaml']['dict']) 

내가 얻을 :

print(config['Yaml']['dict']) 

{ 'ITEM_GROUP': '객체', 'ITEM': '객체'}

내가 아니다 Yaml 파일에서 정확하게 사전을 사용하고 있는지, 아니면 pyyaml ​​매직 키워드 중 일부를 사용해야하는지 확인하십시오. 나는 초보자이고 붙어있어, 미리 감사드립니다!

답변

1

나를 위해 작동합니다.


import yaml 

from io import StringIO 
config = yaml.load(StringIO(""" 
Yaml: 
    dict: {ITEM_GROUP: object, ITEM: object} 
""")) 

config['Yaml']['dict'] 
# {'ITEM': 'object', 'ITEM_GROUP': 'object'} 

pd.read_csv(StringIO(""" 
ITEM,ITEM_GROUP 
a,b 
c,d 
"""), dtype=config['Yaml']['dict']).dtypes 
#  ^^^^^ 
#ITEM   object 
#ITEM_GROUP object 
#dtype: object 
+0

감사합니다 : 귀하의 문제는 dtype해야 pd.read_csv의 매개 변수 dtypes 것 같다! 나는 바보처럼 느껴진다. –

관련 문제