我遇到了一个问题,我想从YAML文件加载一个部分来填充pandas.read_csv 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'])
如果我打印YAML文件的这部分,我得到:
print(config['Yaml']['dict'])
{' ITEM_GROUP':' object',' ITEM':' object'}
我不确定我是否在Yaml文件中正确使用字典,或者我是否需要使用某些pyyaml magic关键字。我是新手而且卡住了,所以提前谢谢你!
答案 0 :(得分:1)
这对我有用。您的问题似乎是dtypes
中的参数pd.read_csv
应该是dtype
:
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