我正在使用petl并尝试弄清楚如何将值插入特定行。
我有一个看起来像这样的表:
+----------------+---------+------------+
| Cambridge Data | IRR | Price List |
+================+=========+============+
| '3/31/1989' | '4.37%' | |
+----------------+---------+------------+
| '4/30/1989' | '5.35%' | |
+----------------+---------+------------+
我想在剑桥数据为100
的行上将价格表设置为4/30/1989
。这就是我到目前为止所做的:
def insert_initial_price(self, table):
initial_price_row = etl.select(table, 'Cambridge Data', lambda v: v == '3/31/1989')
选择我需要插入100
的行,但我不确定如何插入它。 petl
似乎没有"插入值"功能。
答案 0 :(得分:0)
我建议不要使用select
。
要更新字段的值,请使用convert
。
查看带有许多示例的文档:https://petl.readthedocs.io/en/stable/transform.html#petl.transform.conversions.convert
我还没有测试过,但这应该可以解决它:
import petl as etl
table2 = etl.convert(
table,
'Price List',
100,
where = lambda rec: rec["Cambridge Data"] == '4/30/1989',
)