Open fjuniorr opened 1 year ago
No pipeline do teste https://github.com/splor-mg/dpm/blob/116c4c2999b7f2513f01ed87666046456c38f9b6/tests/unit/test_issue_obz_dados2.py a gente poderia escrever
pipeline = Pipeline( steps=[ field_rename_to_target(), steps.row_filter(formula='uo_cod != "1251"'), # 1251 ainda é string ], )
pipeline = Pipeline( steps=[ field_rename_to_target(), steps.table_normalize(), steps.row_filter(formula='uo_cod != 1251'), ], )
Documentar esse comportamento bem como quais transformações são feitas entre "" e None com ou sem steps.table_normalize().
""
None
steps.table_normalize()
Não achei nada na documentação mas vi esse comentário que se aplica:
Hi, there are two options. You can cast the data in the function: source = Resource(path="inp.csv") target = transform( source, steps=[ steps.field_add(name="Category", type='string', function=lambda rec: '<100' if int(rec['BTOT'])>100 else '1-100'),]) Or you can normalize everything beforehand (less effective on large data): source = Resource(path="inp.csv") target = transform( source, steps=[ spets.table_normalize(), steps.field_add(name="Category", type='string', function=lambda rec: '<100' if rec['BTOT']>100 else '1-100'),])
Hi,
there are two options.
You can cast the data in the function:
source = Resource(path="inp.csv") target = transform( source, steps=[ steps.field_add(name="Category", type='string', function=lambda rec: '<100' if int(rec['BTOT'])>100 else '1-100'),])
Or you can normalize everything beforehand (less effective on large data):
source = Resource(path="inp.csv") target = transform( source, steps=[ spets.table_normalize(), steps.field_add(name="Category", type='string', function=lambda rec: '<100' if rec['BTOT']>100 else '1-100'),])
Originally posted by @roll in https://github.com/frictionlessdata/frictionless-py/issues/772#issuecomment-806391474
TLDR: ler arquivo csv e ver com e sem table_normalize() como ele trata os valores None (vazio ou aspas vazias)
No pipeline do teste https://github.com/splor-mg/dpm/blob/116c4c2999b7f2513f01ed87666046456c38f9b6/tests/unit/test_issue_obz_dados2.py a gente poderia escrever
Documentar esse comportamento bem como quais transformações são feitas entre
""
eNone
com ou semsteps.table_normalize()
.Não achei nada na documentação mas vi esse comentário que se aplica:
Originally posted by @roll in https://github.com/frictionlessdata/frictionless-py/issues/772#issuecomment-806391474