我正在使用petl,试图弄清楚如何将一个值插入到特定的行中。
我有一个表,看起来像这样:
+----------------+---------+------------+
| Cambridge Data | IRR | Price List |
+================+=========+============+
| '3/31/1989' | '4.37%' | |
+----------------+---------+------------+
| '4/30/1989' | '5.35%' | |
+----------------+---------+------------+ 我想在剑桥数据为4/30/1989的行上将价目表设置为100。这就是我到目前为止所知道的:
def insert_initial_price(self, table):
import petl as etl
initial_price_row = etl.select(table, 'Cambridge Data', lambda v: v == '3/31/1989')这将选择我需要插入100的行,但我不确定如何插入它。petl似乎没有“插入值”函数。
发布于 2020-05-02 02:23:28
我建议不要使用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',
)https://stackoverflow.com/questions/50728473
复制相似问题