用petl将值插入一行?

时间:2018-06-06 19:50:48

标签: python petl

我正在使用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似乎没有"插入值"功能。

1 个答案:

答案 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',
)