Skip to content

Commit

Permalink
import_geiq: force SIRET type to integer
Browse files Browse the repository at this point in the history
When replacing NaN elements with None, if the siret column is not
explicitely defined as integer, it is converted to float.
These values later converted to string, need to be integers, otherwise
they are suffixed with `.0`.
  • Loading branch information
EwenKorr committed Jan 6, 2025
1 parent 0b45487 commit 128c70f
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 0 deletions.
3 changes: 3 additions & 0 deletions itou/companies/management/commands/import_geiq.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ def get_geiq_df(filename):
}
df = remap_columns(df, column_mapping=column_mapping)

# Force siret type to integer, otherwise replacing NaN elements to None blindly converts them to float.
df["siret"] = df["siret"].astype("Int64")

# Replace NaN elements with None.
df = df.replace({np.nan: None})

Expand Down
20 changes: 20 additions & 0 deletions tests/companies/test_management_command_import_geiq.py
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,26 @@ def test_get_geiq_df(sftp_directory, faker):
with pytest.raises(AssertionError):
df, info_stats = get_geiq_df(file_path)

# Missing some sirets
rows = 185
rows_with_empty_siret = 20
rows_with_empty_email = 0
data = generate_data(
rows=rows, rows_with_empty_siret=rows_with_empty_siret, rows_with_empty_email=rows_with_empty_email
)
file_path = sftp_directory.joinpath(faker.geiq_filename())
with open(file_path, "wb") as xlsxfile:
workbook = generate_excel_sheet(FILE_HEADERS, data)
workbook.save(xlsxfile)
df, info_stats = get_geiq_df(file_path)
assert df.shape == (rows - rows_with_empty_siret, 8)
assert info_stats == {
"rows_in_file": rows,
"rows_with_a_siret": rows - rows_with_empty_siret,
"rows_after_deduplication": rows - rows_with_empty_siret,
"rows_with_empty_email": 0,
}

# Duplicated rows
rows = 250
rows_with_empty_siret = 0
Expand Down

0 comments on commit 128c70f

Please sign in to comment.