我想将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"}
有办法做到这一点吗?
非常感谢
答案 0 :(得分: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()})