首页 文章

读入CSV,从字典中获取Column数据类型

提问于
浏览
1

我想将CSV文件读入Pandas Dataframe . 我有一个字符串列和一个浮点列 . 这是我的代码:

import pandas as pd
import decimal
D = decimal.Decimal

pd.read_csv(sourceFileName,
            usecols=["stringCol", "floatCol"],
            converters={"stringCol" : str,
                        "floatCol"  : lambda x: D(0) if x is "" else D(x)})

我想要做的是存储列名称并键入字典,然后在read_csv语句中引用该字典的元素 .

像这样的东西:

colFormats = {"stringCol" : "str",
              "floatCol"  : "ModifiedDecimalFunction"}

有没有办法做到这一点?

非常感谢

1 回答

  • 1

    您可以创建另一个字典,描述每种类型的含义:

    formatConverters = {'str': str, 'floatCol': lambda x: D(0) if x is "" else D(x)}
    

    现在用

    pd.read_csv(
        ....,
        converters={c: formatConverters[v] for (c, v) in colFormats.items()})
    

相关问题