csv-detective 0.7.5.dev1307__py3-none-any.whl → 0.7.5.dev1330__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- csv_detective/detect_fields/FR/other/code_import/__init__.py +9 -0
- csv_detective/detect_fields/FR/other/code_waldec/__init__.py +2 -5
- csv_detective/detect_fields/__init__.py +1 -0
- csv_detective/detect_labels/FR/geo/adresse/__init__.py +2 -2
- csv_detective/detect_labels/FR/geo/code_commune_insee/__init__.py +3 -3
- csv_detective/detect_labels/FR/geo/code_departement/__init__.py +2 -2
- csv_detective/detect_labels/FR/geo/code_fantoir/__init__.py +2 -2
- csv_detective/detect_labels/FR/geo/code_postal/__init__.py +2 -2
- csv_detective/detect_labels/FR/geo/code_region/__init__.py +2 -2
- csv_detective/detect_labels/FR/geo/commune/__init__.py +2 -2
- csv_detective/detect_labels/FR/geo/departement/__init__.py +2 -2
- csv_detective/detect_labels/FR/geo/insee_canton/__init__.py +2 -2
- csv_detective/detect_labels/FR/geo/latitude_l93/__init__.py +2 -2
- csv_detective/detect_labels/FR/geo/latitude_wgs_fr_metropole/__init__.py +2 -2
- csv_detective/detect_labels/FR/geo/longitude_l93/__init__.py +2 -2
- csv_detective/detect_labels/FR/geo/longitude_wgs_fr_metropole/__init__.py +2 -2
- csv_detective/detect_labels/FR/geo/pays/__init__.py +2 -2
- csv_detective/detect_labels/FR/geo/region/__init__.py +2 -2
- csv_detective/detect_labels/FR/other/code_csp_insee/__init__.py +2 -2
- csv_detective/detect_labels/FR/other/code_rna/__init__.py +2 -2
- csv_detective/detect_labels/FR/other/code_waldec/__init__.py +2 -2
- csv_detective/detect_labels/FR/other/csp_insee/__init__.py +2 -2
- csv_detective/detect_labels/FR/other/date_fr/__init__.py +2 -2
- csv_detective/detect_labels/FR/other/insee_ape700/__init__.py +2 -2
- csv_detective/detect_labels/FR/other/sexe/__init__.py +2 -2
- csv_detective/detect_labels/FR/other/siren/__init__.py +2 -2
- csv_detective/detect_labels/FR/other/siret/__init__.py +2 -2
- csv_detective/detect_labels/FR/other/tel_fr/__init__.py +2 -2
- csv_detective/detect_labels/FR/other/uai/__init__.py +2 -2
- csv_detective/detect_labels/FR/temp/jour_de_la_semaine/__init__.py +2 -2
- csv_detective/detect_labels/FR/temp/mois_de_annee/__init__.py +2 -2
- csv_detective/detect_labels/geo/iso_country_code_alpha2/__init__.py +2 -2
- csv_detective/detect_labels/geo/iso_country_code_alpha3/__init__.py +2 -2
- csv_detective/detect_labels/geo/iso_country_code_numeric/__init__.py +2 -2
- csv_detective/detect_labels/geo/json_geojson/__init__.py +2 -2
- csv_detective/detect_labels/geo/latitude_wgs/__init__.py +2 -2
- csv_detective/detect_labels/geo/latlon_wgs/__init__.py +2 -2
- csv_detective/detect_labels/geo/longitude_wgs/__init__.py +2 -2
- csv_detective/detect_labels/other/booleen/__init__.py +2 -2
- csv_detective/detect_labels/other/email/__init__.py +2 -2
- csv_detective/detect_labels/other/float/__init__.py +2 -2
- csv_detective/detect_labels/other/int/__init__.py +2 -2
- csv_detective/detect_labels/other/mongo_object_id/__init__.py +2 -2
- csv_detective/detect_labels/other/twitter/__init__.py +2 -2
- csv_detective/detect_labels/other/url/__init__.py +2 -2
- csv_detective/detect_labels/other/uuid/__init__.py +2 -2
- csv_detective/detect_labels/temp/date/__init__.py +2 -2
- csv_detective/detect_labels/temp/datetime_iso/__init__.py +2 -2
- csv_detective/detect_labels/temp/datetime_rfc822/__init__.py +2 -2
- csv_detective/detect_labels/temp/year/__init__.py +2 -2
- csv_detective/explore_csv.py +12 -7
- csv_detective/output/__init__.py +2 -2
- csv_detective/output/example.py +1 -1
- csv_detective/parsing/columns.py +0 -2
- csv_detective/parsing/load.py +4 -4
- csv_detective/utils.py +2 -7
- csv_detective/validate.py +21 -16
- {csv_detective-0.7.5.dev1307.data → csv_detective-0.7.5.dev1330.data}/data/share/csv_detective/CHANGELOG.md +1 -0
- {csv_detective-0.7.5.dev1307.dist-info → csv_detective-0.7.5.dev1330.dist-info}/METADATA +1 -1
- {csv_detective-0.7.5.dev1307.dist-info → csv_detective-0.7.5.dev1330.dist-info}/RECORD +68 -67
- {csv_detective-0.7.5.dev1307.dist-info → csv_detective-0.7.5.dev1330.dist-info}/WHEEL +1 -1
- tests/test_fields.py +6 -1
- tests/test_validation.py +85 -4
- {csv_detective-0.7.5.dev1307.data → csv_detective-0.7.5.dev1330.data}/data/share/csv_detective/LICENSE.AGPL.txt +0 -0
- {csv_detective-0.7.5.dev1307.data → csv_detective-0.7.5.dev1330.data}/data/share/csv_detective/README.md +0 -0
- {csv_detective-0.7.5.dev1307.dist-info → csv_detective-0.7.5.dev1330.dist-info}/entry_points.txt +0 -0
- {csv_detective-0.7.5.dev1307.dist-info → csv_detective-0.7.5.dev1330.dist-info}/licenses/LICENSE.AGPL.txt +0 -0
- {csv_detective-0.7.5.dev1307.dist-info → csv_detective-0.7.5.dev1330.dist-info}/top_level.txt +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from csv_detective.utils import
|
|
1
|
+
from csv_detective.utils import is_word_in_string
|
|
2
2
|
from csv_detective.parsing.text import _process_text
|
|
3
3
|
|
|
4
4
|
PROPORTION = 0.5
|
|
@@ -23,7 +23,7 @@ def _is(header):
|
|
|
23
23
|
words_combination_in_header = 0.5 * float(
|
|
24
24
|
any(
|
|
25
25
|
[
|
|
26
|
-
|
|
26
|
+
is_word_in_string(
|
|
27
27
|
words_combination, processed_header
|
|
28
28
|
) for words_combination in words_combinations_list
|
|
29
29
|
]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from csv_detective.utils import
|
|
1
|
+
from csv_detective.utils import is_word_in_string
|
|
2
2
|
from csv_detective.parsing.text import _process_text
|
|
3
3
|
|
|
4
4
|
PROPORTION = 0.5
|
|
@@ -23,7 +23,7 @@ def _is(header):
|
|
|
23
23
|
words_combination_in_header = 0.5 * float(
|
|
24
24
|
any(
|
|
25
25
|
[
|
|
26
|
-
|
|
26
|
+
is_word_in_string(
|
|
27
27
|
words_combination, processed_header
|
|
28
28
|
) for words_combination in words_combinations_list
|
|
29
29
|
]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from csv_detective.utils import
|
|
1
|
+
from csv_detective.utils import is_word_in_string
|
|
2
2
|
from csv_detective.parsing.text import _process_text
|
|
3
3
|
|
|
4
4
|
PROPORTION = 0.5
|
|
@@ -23,7 +23,7 @@ def _is(header):
|
|
|
23
23
|
words_combination_in_header = 0.5 * float(
|
|
24
24
|
any(
|
|
25
25
|
[
|
|
26
|
-
|
|
26
|
+
is_word_in_string(
|
|
27
27
|
words_combination, processed_header
|
|
28
28
|
) for words_combination in words_combinations_list
|
|
29
29
|
]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from csv_detective.utils import
|
|
1
|
+
from csv_detective.utils import is_word_in_string
|
|
2
2
|
from csv_detective.parsing.text import _process_text
|
|
3
3
|
|
|
4
4
|
PROPORTION = 0.5
|
|
@@ -38,7 +38,7 @@ def _is(header):
|
|
|
38
38
|
words_combination_in_header = 0.5 * float(
|
|
39
39
|
any(
|
|
40
40
|
[
|
|
41
|
-
|
|
41
|
+
is_word_in_string(
|
|
42
42
|
words_combination, processed_header
|
|
43
43
|
) for words_combination in words_combinations_list
|
|
44
44
|
]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from csv_detective.utils import
|
|
1
|
+
from csv_detective.utils import is_word_in_string
|
|
2
2
|
from csv_detective.parsing.text import _process_text
|
|
3
3
|
|
|
4
4
|
PROPORTION = 0.5
|
|
@@ -23,7 +23,7 @@ def _is(header):
|
|
|
23
23
|
words_combination_in_header = 0.5 * float(
|
|
24
24
|
any(
|
|
25
25
|
[
|
|
26
|
-
|
|
26
|
+
is_word_in_string(
|
|
27
27
|
words_combination, processed_header
|
|
28
28
|
) for words_combination in words_combinations_list
|
|
29
29
|
]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from csv_detective.utils import
|
|
1
|
+
from csv_detective.utils import is_word_in_string
|
|
2
2
|
from csv_detective.parsing.text import _process_text
|
|
3
3
|
|
|
4
4
|
PROPORTION = 0.5
|
|
@@ -43,7 +43,7 @@ def _is(header):
|
|
|
43
43
|
words_combination_in_header = 0.5 * float(
|
|
44
44
|
any(
|
|
45
45
|
[
|
|
46
|
-
|
|
46
|
+
is_word_in_string(
|
|
47
47
|
words_combination, processed_header
|
|
48
48
|
) for words_combination in words_combinations_list
|
|
49
49
|
]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from csv_detective.utils import
|
|
1
|
+
from csv_detective.utils import is_word_in_string
|
|
2
2
|
from csv_detective.parsing.text import _process_text
|
|
3
3
|
|
|
4
4
|
PROPORTION = 0.5
|
|
@@ -35,7 +35,7 @@ def _is(header):
|
|
|
35
35
|
words_combination_in_header = 0.5 * float(
|
|
36
36
|
any(
|
|
37
37
|
[
|
|
38
|
-
|
|
38
|
+
is_word_in_string(
|
|
39
39
|
words_combination, processed_header
|
|
40
40
|
) for words_combination in words_combinations_list
|
|
41
41
|
]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from csv_detective.utils import
|
|
1
|
+
from csv_detective.utils import is_word_in_string
|
|
2
2
|
from csv_detective.parsing.text import _process_text
|
|
3
3
|
|
|
4
4
|
PROPORTION = 0.5
|
|
@@ -34,7 +34,7 @@ def _is(header):
|
|
|
34
34
|
words_combination_in_header = 0.5 * float(
|
|
35
35
|
any(
|
|
36
36
|
[
|
|
37
|
-
|
|
37
|
+
is_word_in_string(
|
|
38
38
|
words_combination, processed_header
|
|
39
39
|
) for words_combination in words_combinations_list
|
|
40
40
|
]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from csv_detective.utils import
|
|
1
|
+
from csv_detective.utils import is_word_in_string
|
|
2
2
|
from csv_detective.parsing.text import _process_text
|
|
3
3
|
|
|
4
4
|
PROPORTION = 0.5
|
|
@@ -34,7 +34,7 @@ def _is(header):
|
|
|
34
34
|
words_combination_in_header = 0.5 * float(
|
|
35
35
|
any(
|
|
36
36
|
[
|
|
37
|
-
|
|
37
|
+
is_word_in_string(
|
|
38
38
|
words_combination, processed_header
|
|
39
39
|
) for words_combination in words_combinations_list
|
|
40
40
|
]
|
csv_detective/explore_csv.py
CHANGED
|
@@ -111,15 +111,12 @@ def validate_then_detect(
|
|
|
111
111
|
user_input_tests: Union[str, list[str]] = "ALL",
|
|
112
112
|
limited_output: bool = True,
|
|
113
113
|
save_results: Union[bool, str] = True,
|
|
114
|
-
encoding: str = None,
|
|
115
|
-
sep: str = None,
|
|
116
114
|
skipna: bool = True,
|
|
117
115
|
output_profile: bool = False,
|
|
118
116
|
output_schema: bool = False,
|
|
119
117
|
output_df: bool = False,
|
|
120
118
|
cast_json: bool = True,
|
|
121
119
|
verbose: bool = False,
|
|
122
|
-
sheet_name: Union[str, int] = None,
|
|
123
120
|
):
|
|
124
121
|
|
|
125
122
|
if verbose:
|
|
@@ -131,17 +128,25 @@ def validate_then_detect(
|
|
|
131
128
|
file_path=file_path,
|
|
132
129
|
previous_analysis=previous_analysis,
|
|
133
130
|
num_rows=num_rows,
|
|
134
|
-
encoding=encoding,
|
|
135
|
-
sep=
|
|
131
|
+
encoding=previous_analysis.get("encoding"),
|
|
132
|
+
sep=previous_analysis.get("separator"),
|
|
133
|
+
sheet_name=previous_analysis.get("sheet_name"),
|
|
136
134
|
verbose=verbose,
|
|
137
135
|
skipna=skipna,
|
|
138
|
-
sheet_name=sheet_name,
|
|
139
136
|
)
|
|
140
137
|
if is_valid:
|
|
141
138
|
# skipping formats detection as the validation is successful
|
|
142
139
|
analysis = previous_analysis
|
|
140
|
+
# profile has to be regenerated, it's independent from analysis
|
|
143
141
|
del analysis["profile"]
|
|
144
142
|
else:
|
|
143
|
+
if analysis is None:
|
|
144
|
+
# if loading failed in validate, we load it from scratch
|
|
145
|
+
table, analysis = load_file(
|
|
146
|
+
file_path=file_path,
|
|
147
|
+
num_rows=num_rows,
|
|
148
|
+
verbose=verbose,
|
|
149
|
+
)
|
|
145
150
|
analysis = detect_formats(
|
|
146
151
|
table=table,
|
|
147
152
|
analysis=analysis,
|
|
@@ -163,7 +168,7 @@ def validate_then_detect(
|
|
|
163
168
|
output_df=output_df,
|
|
164
169
|
cast_json=cast_json,
|
|
165
170
|
verbose=verbose,
|
|
166
|
-
sheet_name=sheet_name,
|
|
171
|
+
sheet_name=analysis.get("sheet_name"),
|
|
167
172
|
)
|
|
168
173
|
finally:
|
|
169
174
|
if verbose:
|
csv_detective/output/__init__.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import json
|
|
2
2
|
import os
|
|
3
|
-
from typing import Union
|
|
3
|
+
from typing import Optional, Union
|
|
4
4
|
|
|
5
5
|
import pandas as pd
|
|
6
6
|
|
|
@@ -22,7 +22,7 @@ def generate_output(
|
|
|
22
22
|
output_df: bool = False,
|
|
23
23
|
cast_json: bool = True,
|
|
24
24
|
verbose: bool = False,
|
|
25
|
-
sheet_name: Union[str, int] = None,
|
|
25
|
+
sheet_name: Optional[Union[str, int]] = None,
|
|
26
26
|
) -> Union[dict, tuple[dict, pd.DataFrame]]:
|
|
27
27
|
|
|
28
28
|
if output_profile:
|
csv_detective/output/example.py
CHANGED
csv_detective/parsing/columns.py
CHANGED
|
@@ -76,7 +76,6 @@ def test_col_label(label: str, test_func: Callable, proportion: float = 1, limit
|
|
|
76
76
|
|
|
77
77
|
|
|
78
78
|
def test_col(table: pd.DataFrame, all_tests: list, limited_output: bool, skipna: bool = True, verbose: bool = False):
|
|
79
|
-
# Initialising dict for tests
|
|
80
79
|
if verbose:
|
|
81
80
|
start = time()
|
|
82
81
|
logging.info("Testing columns to get types")
|
|
@@ -112,7 +111,6 @@ def test_col(table: pd.DataFrame, all_tests: list, limited_output: bool, skipna:
|
|
|
112
111
|
|
|
113
112
|
|
|
114
113
|
def test_label(table: pd.DataFrame, all_tests: list, limited_output: bool, verbose: bool = False):
|
|
115
|
-
# Initialising dict for tests
|
|
116
114
|
if verbose:
|
|
117
115
|
start = time()
|
|
118
116
|
logging.info("Testing labels to get types")
|
csv_detective/parsing/load.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from io import BytesIO, StringIO
|
|
2
|
-
from typing import Union
|
|
2
|
+
from typing import Optional, Union
|
|
3
3
|
|
|
4
4
|
import pandas as pd
|
|
5
5
|
import requests
|
|
@@ -25,10 +25,10 @@ from .excel import (
|
|
|
25
25
|
def load_file(
|
|
26
26
|
file_path: str,
|
|
27
27
|
num_rows: int = 500,
|
|
28
|
-
encoding: str = None,
|
|
29
|
-
sep: str = None,
|
|
28
|
+
encoding: Optional[str] = None,
|
|
29
|
+
sep: Optional[str] = None,
|
|
30
30
|
verbose: bool = False,
|
|
31
|
-
sheet_name: Union[str, int] = None,
|
|
31
|
+
sheet_name: Optional[Union[str, int]] = None,
|
|
32
32
|
) -> tuple[pd.DataFrame, dict]:
|
|
33
33
|
file_name = file_path.split('/')[-1]
|
|
34
34
|
engine = None
|
csv_detective/utils.py
CHANGED
|
@@ -34,10 +34,5 @@ def prevent_nan(value: float) -> Optional[float]:
|
|
|
34
34
|
return value
|
|
35
35
|
|
|
36
36
|
|
|
37
|
-
def
|
|
38
|
-
return
|
|
39
|
-
word == string
|
|
40
|
-
or (" " + word + " " in string)
|
|
41
|
-
or (string.startswith(word + " "))
|
|
42
|
-
or (string.endswith(" " + word))
|
|
43
|
-
)
|
|
37
|
+
def is_word_in_string(word: str, string: str):
|
|
38
|
+
return word in string
|
csv_detective/validate.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import logging
|
|
2
|
-
from typing import Union
|
|
2
|
+
from typing import Optional, Union
|
|
3
3
|
|
|
4
4
|
import pandas as pd
|
|
5
5
|
|
|
@@ -18,33 +18,38 @@ def validate(
|
|
|
18
18
|
file_path: str,
|
|
19
19
|
previous_analysis: dict,
|
|
20
20
|
num_rows: int = 500,
|
|
21
|
-
encoding: str = None,
|
|
22
|
-
sep: str = None,
|
|
21
|
+
encoding: Optional[str] = None,
|
|
22
|
+
sep: Optional[str] = None,
|
|
23
23
|
verbose: bool = False,
|
|
24
24
|
skipna: bool = True,
|
|
25
|
-
sheet_name: Union[str, int] = None,
|
|
26
|
-
) -> tuple[bool, pd.DataFrame, dict]:
|
|
25
|
+
sheet_name: Optional[Union[str, int]] = None,
|
|
26
|
+
) -> tuple[bool, Optional[pd.DataFrame], Optional[dict]]:
|
|
27
27
|
"""
|
|
28
28
|
Verify is the given file has the same fields and types as in the previous analysis.
|
|
29
29
|
"""
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
30
|
+
try:
|
|
31
|
+
table, analysis = load_file(
|
|
32
|
+
file_path=file_path,
|
|
33
|
+
num_rows=num_rows,
|
|
34
|
+
encoding=encoding,
|
|
35
|
+
sep=sep,
|
|
36
|
+
verbose=verbose,
|
|
37
|
+
sheet_name=sheet_name,
|
|
38
|
+
)
|
|
39
|
+
except Exception as e:
|
|
40
|
+
if verbose:
|
|
41
|
+
logging.warning(f"> Could not load the file with previous analysis values: {e}")
|
|
42
|
+
return False, None, None
|
|
38
43
|
if verbose:
|
|
39
44
|
logging.info("Comparing table with the previous analysis")
|
|
40
45
|
logging.info("- Checking if all columns match")
|
|
41
46
|
if (
|
|
42
|
-
any(col_name not in
|
|
43
|
-
or any(col_name not in
|
|
47
|
+
any(col_name not in analysis["header"] for col_name in previous_analysis["header"])
|
|
48
|
+
or any(col_name not in previous_analysis["header"] for col_name in analysis["header"])
|
|
44
49
|
):
|
|
45
50
|
if verbose:
|
|
46
51
|
logging.warning("> Columns do not match, proceeding with full analysis")
|
|
47
|
-
return False,
|
|
52
|
+
return False, None, None
|
|
48
53
|
for col_name, args in previous_analysis["columns"].items():
|
|
49
54
|
if verbose:
|
|
50
55
|
logging.info(f"- Testing {col_name} for {args['format']}")
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
- Add validation function and associated flow [#112](https://github.com/datagouv/csv-detective/pull/112)
|
|
17
17
|
- Better float detection [#113](https://github.com/datagouv/csv-detective/pull/113)
|
|
18
18
|
- Refactor fields tests [#114](https://github.com/datagouv/csv-detective/pull/114)
|
|
19
|
+
- Better code waldec and add code import [#116](https://github.com/datagouv/csv-detective/pull/116)
|
|
19
20
|
|
|
20
21
|
## 0.7.4 (2024-11-15)
|
|
21
22
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
csv_detective/__init__.py,sha256=vpK7WMkIQbcJzu6HKOwcn7PpHsNCCaXZ1YLMS5Wq9tM,165
|
|
2
2
|
csv_detective/cli.py,sha256=itooHtpyfC6DUsL_DchPKe1xo7m0MYJIp1L4R8eqoTk,1401
|
|
3
|
-
csv_detective/explore_csv.py,sha256=
|
|
3
|
+
csv_detective/explore_csv.py,sha256=K9OM1NGZI1u6E6J_rUbbkpeM5UHQysvu6PKwm4cso6I,9326
|
|
4
4
|
csv_detective/load_tests.py,sha256=GILvfkd4OVI-72mA4nzbPlZqgcXZ4wznOhGfZ1ucWkM,2385
|
|
5
5
|
csv_detective/s3_utils.py,sha256=1cIVdQUYY2ovErbMwp72Gqtqx2bkB8nfVhn-QaOFTT0,1451
|
|
6
|
-
csv_detective/utils.py,sha256=
|
|
7
|
-
csv_detective/validate.py,sha256=
|
|
8
|
-
csv_detective/detect_fields/__init__.py,sha256=
|
|
6
|
+
csv_detective/utils.py,sha256=8cBKgWifWF7BG_uMfLmxtV45p6PZ4b50NjWXKoAAZ4s,1002
|
|
7
|
+
csv_detective/validate.py,sha256=4e7f8bNXPU9GqNx4QXXiaoINyotozbL52JB6psVAjyY,2631
|
|
8
|
+
csv_detective/detect_fields/__init__.py,sha256=7Tz0Niaz0BboA3YVsp_6WPA6ywciwDN4-lOy_Ie_0Y8,976
|
|
9
9
|
csv_detective/detect_fields/FR/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
10
|
csv_detective/detect_fields/FR/geo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
11
|
csv_detective/detect_fields/FR/geo/adresse/__init__.py,sha256=NqV8ULf9gY9iFnA1deKR-1Yobr96WwCsn5JfbP_MjiY,1675
|
|
@@ -26,8 +26,9 @@ csv_detective/detect_fields/FR/geo/region/__init__.py,sha256=JbFKDd4jAnd9yb7YqP3
|
|
|
26
26
|
csv_detective/detect_fields/FR/other/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
27
27
|
csv_detective/detect_fields/FR/other/code_csp_insee/__init__.py,sha256=SRWJvg3Ikyjmop9iL14igTjxNGpO-QB3fpADI_bLYEY,566
|
|
28
28
|
csv_detective/detect_fields/FR/other/code_csp_insee/code_csp_insee.txt,sha256=rbcjtMP6qTZ7BTU6ZegkiXKCruqY_m9Ep6ZgRabFS_E,2486
|
|
29
|
+
csv_detective/detect_fields/FR/other/code_import/__init__.py,sha256=zJ9YfPa5p--uHNQFeO1gTjxDy2Um_r-MxQd29VBNjFw,243
|
|
29
30
|
csv_detective/detect_fields/FR/other/code_rna/__init__.py,sha256=Z0RjMBt1--ZL7Jd1RsHAQCCbTAQk_BnlnTq8VF1o_VA,146
|
|
30
|
-
csv_detective/detect_fields/FR/other/code_waldec/__init__.py,sha256=
|
|
31
|
+
csv_detective/detect_fields/FR/other/code_waldec/__init__.py,sha256=41SYNzCzUFh4trQlwG-9UC0-1Wi4fTcv8Byi_dd9Lq4,168
|
|
31
32
|
csv_detective/detect_fields/FR/other/csp_insee/__init__.py,sha256=lvcaVKgOPrCaZb-Y1-wYCbLYB_CQjCJFNAzfWDwtTVE,496
|
|
32
33
|
csv_detective/detect_fields/FR/other/csp_insee/csp_insee.txt,sha256=kgKaKc-5PHu5U4--ugLjpFyMNtTU9CGdZ9ANU3YAsM4,32879
|
|
33
34
|
csv_detective/detect_fields/FR/other/date_fr/__init__.py,sha256=kMV52djlG0y4o0ELEZuvTv_FvooYOgTnV1aWhycFJDc,284
|
|
@@ -73,60 +74,60 @@ csv_detective/detect_fields/temp/year/__init__.py,sha256=RjsiIHoplnI4Odi5587TzRh
|
|
|
73
74
|
csv_detective/detect_labels/__init__.py,sha256=BJjWlwTnnDe9nomABDUreu9EMu6IFG3T47d7YCJZbRc,878
|
|
74
75
|
csv_detective/detect_labels/FR/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
75
76
|
csv_detective/detect_labels/FR/geo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
76
|
-
csv_detective/detect_labels/FR/geo/adresse/__init__.py,sha256=
|
|
77
|
-
csv_detective/detect_labels/FR/geo/code_commune_insee/__init__.py,sha256=
|
|
78
|
-
csv_detective/detect_labels/FR/geo/code_departement/__init__.py,sha256=
|
|
79
|
-
csv_detective/detect_labels/FR/geo/code_fantoir/__init__.py,sha256=
|
|
80
|
-
csv_detective/detect_labels/FR/geo/code_postal/__init__.py,sha256=
|
|
81
|
-
csv_detective/detect_labels/FR/geo/code_region/__init__.py,sha256=
|
|
82
|
-
csv_detective/detect_labels/FR/geo/commune/__init__.py,sha256=
|
|
83
|
-
csv_detective/detect_labels/FR/geo/departement/__init__.py,sha256=
|
|
84
|
-
csv_detective/detect_labels/FR/geo/insee_canton/__init__.py,sha256=
|
|
85
|
-
csv_detective/detect_labels/FR/geo/latitude_l93/__init__.py,sha256=
|
|
86
|
-
csv_detective/detect_labels/FR/geo/latitude_wgs_fr_metropole/__init__.py,sha256=
|
|
87
|
-
csv_detective/detect_labels/FR/geo/longitude_l93/__init__.py,sha256=
|
|
88
|
-
csv_detective/detect_labels/FR/geo/longitude_wgs_fr_metropole/__init__.py,sha256=
|
|
89
|
-
csv_detective/detect_labels/FR/geo/pays/__init__.py,sha256
|
|
90
|
-
csv_detective/detect_labels/FR/geo/region/__init__.py,sha256=
|
|
77
|
+
csv_detective/detect_labels/FR/geo/adresse/__init__.py,sha256=ISgpkhy6KwOmKqCt6w_RpxZ7zm5gx2D3mp2UE9D6Pjw,1033
|
|
78
|
+
csv_detective/detect_labels/FR/geo/code_commune_insee/__init__.py,sha256=_QKJX7Og8cL1AYBLjIbvULsy-XJ017G0ZXk7H_GOqdI,1067
|
|
79
|
+
csv_detective/detect_labels/FR/geo/code_departement/__init__.py,sha256=_lU5bXG8hODduVxVyXegZjRR_mxWM3SXfwb6stJbOrU,995
|
|
80
|
+
csv_detective/detect_labels/FR/geo/code_fantoir/__init__.py,sha256=qIFLhkj3vr0lfBHtDwYNhGqLgdzN0w7LRFJByt0pEts,919
|
|
81
|
+
csv_detective/detect_labels/FR/geo/code_postal/__init__.py,sha256=TUquZFf6cuTIvjvox8ReIiOqzJnepCZcLX21KNtWwyo,1040
|
|
82
|
+
csv_detective/detect_labels/FR/geo/code_region/__init__.py,sha256=6I9DpXNMBYJ1bTqAiheFhnMo2vbrz51PdZttrbinGVA,982
|
|
83
|
+
csv_detective/detect_labels/FR/geo/commune/__init__.py,sha256=WQl7z3h0428A-4H5ytry0XseAjE7hKLVh2YvCFvqfuM,918
|
|
84
|
+
csv_detective/detect_labels/FR/geo/departement/__init__.py,sha256=qnCjAkBGwsKsfLtvW_EgG-9eK_SBgyFrBKE9Q0A7wxI,1199
|
|
85
|
+
csv_detective/detect_labels/FR/geo/insee_canton/__init__.py,sha256=dLJPbSuOQETbl1IBeme5H4KXtDlfPBe5lIfczR4ek48,927
|
|
86
|
+
csv_detective/detect_labels/FR/geo/latitude_l93/__init__.py,sha256=fJrd8pIewZqAkNNfERWD39kK3oxzYy-Paxce66c3UnY,1356
|
|
87
|
+
csv_detective/detect_labels/FR/geo/latitude_wgs_fr_metropole/__init__.py,sha256=xRrXcUUlk7XqHuHbTXUToM3n90_kLXQxdSzMkcc9jIc,1351
|
|
88
|
+
csv_detective/detect_labels/FR/geo/longitude_l93/__init__.py,sha256=1uFQv436tkosABNVU_htAJcggJ6QRlF70-aBgHJHc8A,1109
|
|
89
|
+
csv_detective/detect_labels/FR/geo/longitude_wgs_fr_metropole/__init__.py,sha256=dOhUJy_vukt9xFnY2CG4wg1q9vHBUa00mbsu4YSN6xY,1114
|
|
90
|
+
csv_detective/detect_labels/FR/geo/pays/__init__.py,sha256=-k5shWSQnLpDvRWKuGFqt5ScbNyBO__vL-4UrL_hRjQ,1139
|
|
91
|
+
csv_detective/detect_labels/FR/geo/region/__init__.py,sha256=uQKqMZvG4bs0eafvRHV2RwtbwFJ9vCFQNE2Ep23eHq0,1134
|
|
91
92
|
csv_detective/detect_labels/FR/other/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
92
|
-
csv_detective/detect_labels/FR/other/code_csp_insee/__init__.py,sha256=
|
|
93
|
-
csv_detective/detect_labels/FR/other/code_rna/__init__.py,sha256=
|
|
94
|
-
csv_detective/detect_labels/FR/other/code_waldec/__init__.py,sha256=
|
|
95
|
-
csv_detective/detect_labels/FR/other/csp_insee/__init__.py,sha256=
|
|
96
|
-
csv_detective/detect_labels/FR/other/date_fr/__init__.py,sha256=
|
|
97
|
-
csv_detective/detect_labels/FR/other/insee_ape700/__init__.py,sha256=
|
|
98
|
-
csv_detective/detect_labels/FR/other/sexe/__init__.py,sha256=
|
|
99
|
-
csv_detective/detect_labels/FR/other/siren/__init__.py,sha256=
|
|
100
|
-
csv_detective/detect_labels/FR/other/siret/__init__.py,sha256=
|
|
101
|
-
csv_detective/detect_labels/FR/other/tel_fr/__init__.py,sha256=
|
|
102
|
-
csv_detective/detect_labels/FR/other/uai/__init__.py,sha256=
|
|
93
|
+
csv_detective/detect_labels/FR/other/code_csp_insee/__init__.py,sha256=OIOih96ohL50BXgkopAV6NTXQsp5hP78YC46g_r-hKs,909
|
|
94
|
+
csv_detective/detect_labels/FR/other/code_rna/__init__.py,sha256=Nih32b26tuJs2f_x-XZ-cjD4nobgBhXsMALsQDlz2NM,994
|
|
95
|
+
csv_detective/detect_labels/FR/other/code_waldec/__init__.py,sha256=JcvDvLHlxddehJHEJNAAu3ZmjcJ__6qa4t440CFtKq0,904
|
|
96
|
+
csv_detective/detect_labels/FR/other/csp_insee/__init__.py,sha256=XgcgdjcLA1OdPktRPSPzlXePaK8GYR6SF1DCKSoZ6RA,1013
|
|
97
|
+
csv_detective/detect_labels/FR/other/date_fr/__init__.py,sha256=FoWbiIxDHIcoQmyWMayqmnRedd0I_RuC_0SIhWIXzww,945
|
|
98
|
+
csv_detective/detect_labels/FR/other/insee_ape700/__init__.py,sha256=TnZocEWxNwqcX5Y-c45dW9BCEWUMbwFlqM2p0XRTNWU,1094
|
|
99
|
+
csv_detective/detect_labels/FR/other/sexe/__init__.py,sha256=rn035P9h8PsZ-Fu-v71DxcA_6HH9vmJ8lH-hSPmsflg,926
|
|
100
|
+
csv_detective/detect_labels/FR/other/siren/__init__.py,sha256=utC1MWILaja5dkNfg3T2-0gXgHxOpIi74L2SaS5Z2PE,1073
|
|
101
|
+
csv_detective/detect_labels/FR/other/siret/__init__.py,sha256=zl45o9AtUgAjsH9WZsdU9nDbEXUEOxuRcAX2JOxUe4U,1010
|
|
102
|
+
csv_detective/detect_labels/FR/other/tel_fr/__init__.py,sha256=BeHgQwLDrFABECzDYfuAKmXhAFGqTK9mrjk2w3aecNY,1113
|
|
103
|
+
csv_detective/detect_labels/FR/other/uai/__init__.py,sha256=XYs7d5CipvJcvL1OEIvqKNg1Ubb9nI2x54KG_jW8Sx8,1286
|
|
103
104
|
csv_detective/detect_labels/FR/temp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
104
|
-
csv_detective/detect_labels/FR/temp/jour_de_la_semaine/__init__.py,sha256=
|
|
105
|
-
csv_detective/detect_labels/FR/temp/mois_de_annee/__init__.py,sha256=
|
|
105
|
+
csv_detective/detect_labels/FR/temp/jour_de_la_semaine/__init__.py,sha256=Ezpf-7lsk389VKdKMZvZ00rMqq070uSVVb8oko06KGw,1044
|
|
106
|
+
csv_detective/detect_labels/FR/temp/mois_de_annee/__init__.py,sha256=5GytrQmPCmr-vndjcAS5cQWOO4RPvrfQh8KqH9qhrCc,904
|
|
106
107
|
csv_detective/detect_labels/geo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
107
|
-
csv_detective/detect_labels/geo/iso_country_code_alpha2/__init__.py,sha256=
|
|
108
|
-
csv_detective/detect_labels/geo/iso_country_code_alpha3/__init__.py,sha256=
|
|
109
|
-
csv_detective/detect_labels/geo/iso_country_code_numeric/__init__.py,sha256=
|
|
110
|
-
csv_detective/detect_labels/geo/json_geojson/__init__.py,sha256=
|
|
111
|
-
csv_detective/detect_labels/geo/latitude_wgs/__init__.py,sha256=
|
|
112
|
-
csv_detective/detect_labels/geo/latlon_wgs/__init__.py,sha256=
|
|
113
|
-
csv_detective/detect_labels/geo/longitude_wgs/__init__.py,sha256=
|
|
108
|
+
csv_detective/detect_labels/geo/iso_country_code_alpha2/__init__.py,sha256=CUtYIsh08LjNoa-BJkxrYvHuwJBG--u1AK5BN4RDpL4,1035
|
|
109
|
+
csv_detective/detect_labels/geo/iso_country_code_alpha3/__init__.py,sha256=CUtYIsh08LjNoa-BJkxrYvHuwJBG--u1AK5BN4RDpL4,1035
|
|
110
|
+
csv_detective/detect_labels/geo/iso_country_code_numeric/__init__.py,sha256=CUtYIsh08LjNoa-BJkxrYvHuwJBG--u1AK5BN4RDpL4,1035
|
|
111
|
+
csv_detective/detect_labels/geo/json_geojson/__init__.py,sha256=3scv7fZ5cxu5MR8RR-AF4KmGhkZT--CYcFg22IibhkY,1042
|
|
112
|
+
csv_detective/detect_labels/geo/latitude_wgs/__init__.py,sha256=xRrXcUUlk7XqHuHbTXUToM3n90_kLXQxdSzMkcc9jIc,1351
|
|
113
|
+
csv_detective/detect_labels/geo/latlon_wgs/__init__.py,sha256=yL8Fp4DcwOm0f5_5CbSZwbvGD1p3LOkRS7hxz778O7g,1675
|
|
114
|
+
csv_detective/detect_labels/geo/longitude_wgs/__init__.py,sha256=yHhVPefvqgl8Q1fEdstoxDeGyJNkJ-2b1S5cwdF4HTI,1115
|
|
114
115
|
csv_detective/detect_labels/other/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
115
|
-
csv_detective/detect_labels/other/booleen/__init__.py,sha256=
|
|
116
|
-
csv_detective/detect_labels/other/email/__init__.py,sha256=
|
|
117
|
-
csv_detective/detect_labels/other/float/__init__.py,sha256=
|
|
118
|
-
csv_detective/detect_labels/other/int/__init__.py,sha256=
|
|
116
|
+
csv_detective/detect_labels/other/booleen/__init__.py,sha256=0AvbuPVr7corJLDOu-wNS9BOy6J8XzOPIouS9MyFKHA,957
|
|
117
|
+
csv_detective/detect_labels/other/email/__init__.py,sha256=0VXS8hWILdGRWugx9hEz5yEAnlaoJ6jYX3znkzjlDYE,1118
|
|
118
|
+
csv_detective/detect_labels/other/float/__init__.py,sha256=FD8NlVSZ0TARGKKKCkWYRT9vYwDXpQe7X4V7VPJNUrw,896
|
|
119
|
+
csv_detective/detect_labels/other/int/__init__.py,sha256=I8ff6zX1tsk4JtNWs0V0Vam-BtdiKiGyUkUvIysfbUY,903
|
|
119
120
|
csv_detective/detect_labels/other/money/__init__.py,sha256=kBEGuUy6kYkOI3vC_a7waBciG2ipyV9bhC330U8WaoI,279
|
|
120
121
|
csv_detective/detect_labels/other/money/check_col_name.py,sha256=zgp5eUnf3XRQuxgdEGfxPfUnniO8Pzw19uK0ICr2pf8,414
|
|
121
|
-
csv_detective/detect_labels/other/mongo_object_id/__init__.py,sha256=
|
|
122
|
-
csv_detective/detect_labels/other/twitter/__init__.py,sha256=
|
|
123
|
-
csv_detective/detect_labels/other/url/__init__.py,sha256=
|
|
124
|
-
csv_detective/detect_labels/other/uuid/__init__.py,sha256=
|
|
122
|
+
csv_detective/detect_labels/other/mongo_object_id/__init__.py,sha256=gyuizUcsQwdwKVmnaGJbauc01SkqhgaXtsq_vWlwsXs,897
|
|
123
|
+
csv_detective/detect_labels/other/twitter/__init__.py,sha256=MGuWhcmZFDcBz16v-g8By_k-RF3UimU7qb8QTAAs8PA,929
|
|
124
|
+
csv_detective/detect_labels/other/url/__init__.py,sha256=NSMvRhtNJgyVr2AQpkI1O-UWdBiovq62WHEmMb3WlOM,1172
|
|
125
|
+
csv_detective/detect_labels/other/uuid/__init__.py,sha256=ePXGCdVfKus67jvdeq5MZA1CA2j47PKjHhWnrsyCAi8,901
|
|
125
126
|
csv_detective/detect_labels/temp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
126
|
-
csv_detective/detect_labels/temp/date/__init__.py,sha256=
|
|
127
|
-
csv_detective/detect_labels/temp/datetime_iso/__init__.py,sha256=
|
|
128
|
-
csv_detective/detect_labels/temp/datetime_rfc822/__init__.py,sha256=
|
|
129
|
-
csv_detective/detect_labels/temp/year/__init__.py,sha256=
|
|
127
|
+
csv_detective/detect_labels/temp/date/__init__.py,sha256=oI77XxATeJLk27r8Cdg1DmSNYtLl5Se4zay3eG12eJ0,1292
|
|
128
|
+
csv_detective/detect_labels/temp/datetime_iso/__init__.py,sha256=C8ZgzfZWVw6nebMuySpED2HRUho8W4rLxv6qDNpJvas,1127
|
|
129
|
+
csv_detective/detect_labels/temp/datetime_rfc822/__init__.py,sha256=WPSWNPgDPAHBMT-Nv0X-6u3yTQfcsaab2NNiG2-8qgk,1145
|
|
130
|
+
csv_detective/detect_labels/temp/year/__init__.py,sha256=AGkHXXvo_oG9di9p9Glae-c8TIPJ0319isnNKOzBCjk,1120
|
|
130
131
|
csv_detective/detection/columns.py,sha256=vfE-DKESA6J9Rfsl-a8tjgZfE21VmzArO5TrbzL0KmE,2905
|
|
131
132
|
csv_detective/detection/encoding.py,sha256=tpjJEMNM_2TcLXDzn1lNQPnSRnsWYjs83tQ8jNwTj4E,973
|
|
132
133
|
csv_detective/detection/engine.py,sha256=HiIrU-l9EO5Fbc2Vh8W_Uy5-dpKcQQzlxCqMuWc09LY,1530
|
|
@@ -135,31 +136,31 @@ csv_detective/detection/headers.py,sha256=wrVII2RQpsVmHhrO1DHf3dmiu8kbtOjBlskf41
|
|
|
135
136
|
csv_detective/detection/rows.py,sha256=3qvsbsBcMxiqqfSYYkOgsRpX777rk22tnRHDwUA97kU,742
|
|
136
137
|
csv_detective/detection/separator.py,sha256=XjeDBqhiBxVfkCPJKem9BAgJqs_hOgQltc_pxrH_-Tg,1547
|
|
137
138
|
csv_detective/detection/variables.py,sha256=3qEMtjZ_zyIFXvTnFgK7ZMDx8C12uQXKfFjEj2moyJc,3558
|
|
138
|
-
csv_detective/output/__init__.py,sha256=
|
|
139
|
+
csv_detective/output/__init__.py,sha256=5KTevPfp_4MRxByJyOntQjToNfeG7dPQn-_13wSq7EU,1910
|
|
139
140
|
csv_detective/output/dataframe.py,sha256=89iQRE59cHQyQQEsujQVIKP2YAUYpPklWkdDOqZE-wE,2183
|
|
140
|
-
csv_detective/output/example.py,sha256=
|
|
141
|
+
csv_detective/output/example.py,sha256=EdPX1iqHhIG4DsiHuYdy-J7JxOkjgUh_o2D5nrfM5fA,8649
|
|
141
142
|
csv_detective/output/profile.py,sha256=B8YU541T_YPDezJGh4dkHckOShiwHSrZd9GS8jbmz7A,2919
|
|
142
143
|
csv_detective/output/schema.py,sha256=ZDBWDOD8IYp7rcB0_n8l9JXGIhOQ6bTZHFWfTmnNNEQ,13480
|
|
143
144
|
csv_detective/output/utils.py,sha256=HbmvCCCmFo7NJxhD_UsJIveuw-rrfhrvYckv1CJn_10,2301
|
|
144
|
-
csv_detective/parsing/columns.py,sha256=
|
|
145
|
+
csv_detective/parsing/columns.py,sha256=zY652tZdFpwnA0vA8nfE1I-1X7kw8NVAeRfblCSYAYE,5631
|
|
145
146
|
csv_detective/parsing/compression.py,sha256=Fnw5tj-PpBNI8NYsWj5gD-DUoWcVLnsVpiKm9MpxmIA,350
|
|
146
147
|
csv_detective/parsing/csv.py,sha256=11mibDnJhIjykXLGZvA5ZEU5U7KgxIrbyO6BNv6jlro,1626
|
|
147
148
|
csv_detective/parsing/excel.py,sha256=AslE2S1e67o8yTIAIhp-lAnJ6-XqeBBRz1-VMFqhZBM,7055
|
|
148
|
-
csv_detective/parsing/load.py,sha256=
|
|
149
|
+
csv_detective/parsing/load.py,sha256=u6fbGFZsL2GwPQRzhAXgt32JpUur7vbQdErREHxNJ-w,3661
|
|
149
150
|
csv_detective/parsing/text.py,sha256=rsfk66BCmdpsCOd0kDJ8tmqMsEWd-OeBkEisWc4Ej9k,1246
|
|
150
|
-
csv_detective-0.7.5.
|
|
151
|
-
csv_detective-0.7.5.
|
|
152
|
-
csv_detective-0.7.5.
|
|
153
|
-
csv_detective-0.7.5.
|
|
151
|
+
csv_detective-0.7.5.dev1330.data/data/share/csv_detective/CHANGELOG.md,sha256=aFDguybPGcPheztzpQNq-YVZZW1n8prG1txK4b32DhM,8084
|
|
152
|
+
csv_detective-0.7.5.dev1330.data/data/share/csv_detective/LICENSE.AGPL.txt,sha256=2N5ReRelkdqkR9a-KP-y-shmcD5P62XoYiG-miLTAzo,34519
|
|
153
|
+
csv_detective-0.7.5.dev1330.data/data/share/csv_detective/README.md,sha256=Qr8xRXc-dxQ-tdXCpCTCKp1Uliqq84r0UOlPRNuGCpI,9506
|
|
154
|
+
csv_detective-0.7.5.dev1330.dist-info/licenses/LICENSE.AGPL.txt,sha256=2N5ReRelkdqkR9a-KP-y-shmcD5P62XoYiG-miLTAzo,34519
|
|
154
155
|
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
155
156
|
tests/test_example.py,sha256=JeHxSK0IVDcSrOhSZlNGSQv4JAc_r6mzvJM8PfmLTMw,2018
|
|
156
|
-
tests/test_fields.py,sha256=
|
|
157
|
+
tests/test_fields.py,sha256=E6kEsp6_W56WW6FXWUl7hggsJv-vsKuOaJ9JLoFmrUw,9964
|
|
157
158
|
tests/test_file.py,sha256=9APE1d43lQ8Dk8lwJFNUK_YekYYsQ0ae2_fgpcPE9mk,8116
|
|
158
159
|
tests/test_labels.py,sha256=6MOKrGznkwU5fjZ_3oiB6Scmb480Eu-9geBJs0UDLds,159
|
|
159
160
|
tests/test_structure.py,sha256=bv-tjgXohvQAxwmxzH0BynFpK2TyPjcxvtIAmIRlZmA,1393
|
|
160
|
-
tests/test_validation.py,sha256=
|
|
161
|
-
csv_detective-0.7.5.
|
|
162
|
-
csv_detective-0.7.5.
|
|
163
|
-
csv_detective-0.7.5.
|
|
164
|
-
csv_detective-0.7.5.
|
|
165
|
-
csv_detective-0.7.5.
|
|
161
|
+
tests/test_validation.py,sha256=x3UZoyx_uyseLtv8yf_OJmRQ27j2eX4_rQUgbq0F6pg,3215
|
|
162
|
+
csv_detective-0.7.5.dev1330.dist-info/METADATA,sha256=YsvQ7toEz_olfgbqbywvNdnxaWtzNbPnUfMXkvvSqu4,1386
|
|
163
|
+
csv_detective-0.7.5.dev1330.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
|
|
164
|
+
csv_detective-0.7.5.dev1330.dist-info/entry_points.txt,sha256=JjweTReFqKJmuvkegzlew2j3D5pZzfxvbEGOtGVGmaY,56
|
|
165
|
+
csv_detective-0.7.5.dev1330.dist-info/top_level.txt,sha256=M0Nv646VHo-49zWjPkwo2C48UmtfddV8_9mEZeIxy8Q,20
|
|
166
|
+
csv_detective-0.7.5.dev1330.dist-info/RECORD,,
|
tests/test_fields.py
CHANGED
|
@@ -24,6 +24,7 @@ from csv_detective.detect_fields.FR.geo import (
|
|
|
24
24
|
from csv_detective.detect_fields.FR.other import (
|
|
25
25
|
code_csp_insee,
|
|
26
26
|
code_rna,
|
|
27
|
+
code_import,
|
|
27
28
|
code_waldec,
|
|
28
29
|
csp_insee,
|
|
29
30
|
date_fr,
|
|
@@ -184,8 +185,12 @@ fields = {
|
|
|
184
185
|
"Wa1#89sf&h",
|
|
185
186
|
],
|
|
186
187
|
},
|
|
188
|
+
code_import: {
|
|
189
|
+
True: ["123S1871092288"],
|
|
190
|
+
False: ["AA751PEE00188854", "W123456789"],
|
|
191
|
+
},
|
|
187
192
|
code_waldec: {
|
|
188
|
-
True: ["
|
|
193
|
+
True: ["W123456789", "W2D1234567"],
|
|
189
194
|
False: ["AA751PEE00188854"],
|
|
190
195
|
},
|
|
191
196
|
csp_insee: {
|