Skip to content

Commit 52c4ce7

Browse files
authored
Fix infer limit setting proper sample size (#273)
* Added a failing test * Fixed the bug in `infer`
1 parent 376988a commit 52c4ce7

File tree

3 files changed

+212
-1
lines changed

3 files changed

+212
-1
lines changed

data/data_infer_increase_limit.csv

+200
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,200 @@
1+
a,b
2+
0,1
3+
0,1
4+
0,1
5+
0,1
6+
0,1
7+
0,1
8+
0,1
9+
0,1
10+
0,1
11+
0,1
12+
0,1
13+
0,1
14+
0,1
15+
0,1
16+
0,1
17+
0,1
18+
0,1
19+
0,1
20+
0,1
21+
0,1
22+
0,1
23+
0,1
24+
0,1
25+
0,1
26+
0,1
27+
0,1
28+
0,1
29+
0,1
30+
0,1
31+
0,1
32+
0,1
33+
0,1
34+
0,1
35+
0,1
36+
0,1
37+
0,1
38+
0,1
39+
0,1
40+
0,1
41+
0,1
42+
0,1
43+
0,1
44+
0,1
45+
0,1
46+
0,1
47+
0,1
48+
0,1
49+
0,1
50+
0,1
51+
0,1
52+
0,1
53+
0,1
54+
0,1
55+
0,1
56+
0,1
57+
0,1
58+
0,1
59+
0,1
60+
0,1
61+
0,1
62+
0,1
63+
0,1
64+
0,1
65+
0,1
66+
0,1
67+
0,1
68+
0,1
69+
0,1
70+
0,1
71+
0,1
72+
0,1
73+
0,1
74+
0,1
75+
0,1
76+
0,1
77+
0,1
78+
0,1
79+
0,1
80+
0,1
81+
0,1
82+
0,1
83+
0,1
84+
0,1
85+
0,1
86+
0,1
87+
0,1
88+
0,1
89+
0,1
90+
0,1
91+
0,1
92+
0,1
93+
0,1
94+
0,1
95+
0,1
96+
0,1
97+
0,1
98+
0,1
99+
0,1
100+
0,1
101+
0,1.1
102+
0,1.1
103+
0,1.1
104+
0,1.1
105+
0,1.1
106+
0,1.1
107+
0,1.1
108+
0,1.1
109+
0,1.1
110+
0,1.1
111+
0,1.1
112+
0,1.1
113+
0,1.1
114+
0,1.1
115+
0,1.1
116+
0,1.1
117+
0,1.1
118+
0,1.1
119+
0,1.1
120+
0,1.1
121+
0,1.1
122+
0,1.1
123+
0,1.1
124+
0,1.1
125+
0,1.1
126+
0,1.1
127+
0,1.1
128+
0,1.1
129+
0,1.1
130+
0,1.1
131+
0,1.1
132+
0,1.1
133+
0,1.1
134+
0,1.1
135+
0,1.1
136+
0,1.1
137+
0,1.1
138+
0,1.1
139+
0,1.1
140+
0,1.1
141+
0,1.1
142+
0,1.1
143+
0,1.1
144+
0,1.1
145+
0,1.1
146+
0,1.1
147+
0,1.1
148+
0,1.1
149+
0,1.1
150+
0,1.1
151+
0,1.1
152+
0,1.1
153+
0,1.1
154+
0,1.1
155+
0,1.1
156+
0,1.1
157+
0,1.1
158+
0,1.1
159+
0,1.1
160+
0,1.1
161+
0,1.1
162+
0,1.1
163+
0,1.1
164+
0,1.1
165+
0,1.1
166+
0,1.1
167+
0,1.1
168+
0,1.1
169+
0,1.1
170+
0,1.1
171+
0,1.1
172+
0,1.1
173+
0,1.1
174+
0,1.1
175+
0,1.1
176+
0,1.1
177+
0,1.1
178+
0,1.1
179+
0,1.1
180+
0,1.1
181+
0,1.1
182+
0,1.1
183+
0,1.1
184+
0,1.1
185+
0,1.1
186+
0,1.1
187+
0,1.1
188+
0,1.1
189+
0,1.1
190+
0,1.1
191+
0,1.1
192+
0,1.1
193+
0,1.1
194+
0,1.1
195+
0,1.1
196+
0,1.1
197+
0,1.1
198+
0,1.1
199+
0,1.1
200+
0,1.1

tableschema/infer.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ def infer(source, headers=1, limit=100, confidence=0.75,
4242
warnings.warn('Correct arguments order infer(source, headers)', UserWarning)
4343
source, headers = headers, source
4444

45-
table = Table(source, headers=headers, **options)
45+
table = Table(source, headers=headers, sample_size=limit, **options)
4646
descriptor = table.infer(limit=limit, confidence=confidence,
4747
missing_values=missing_values, guesser_cls=guesser_cls,
4848
resolver_cls=resolver_cls)

tests/test_infer.py

+11
Original file line numberDiff line numberDiff line change
@@ -80,3 +80,14 @@ def test_infer_xlsx_file_with_boolean_column_issue_203():
8080
{'name': 'boolean', 'type': 'boolean', 'format': 'default'}],
8181
'missingValues': [''],
8282
}
83+
84+
85+
def test_infer_increase_limit_issue_212():
86+
descriptor = infer('data/data_infer_increase_limit.csv', limit=200)
87+
assert descriptor == {
88+
'fields': [
89+
{'name': 'a', 'type': 'integer', 'format': 'default'},
90+
{'name': 'b', 'type': 'number', 'format': 'default'},
91+
],
92+
'missingValues': [''],
93+
}

0 commit comments

Comments
 (0)