Closed cuducos closed 7 years ago
Coincidently I have just found the same error:
In [4]: chamber.translate()
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-4-76d232f4fc7d> in <module>()
----> 1 chamber.translate()
c:\users\rodolfoviana\documents\code\serenata-de-amor\serenata-toolbox\serenata_
toolbox\chamber_of_deputies\dataset.py in translate(self)
36 for year in self.years:
37 csv_path = os.path.join(self.path, 'Ano-{}.csv'.format(year)
)
---> 38 self.__translate_file(csv_path)
39
40 def clean(self):
c:\users\rodolfoviana\documents\code\serenata-de-amor\serenata-toolbox\serenata_
toolbox\chamber_of_deputies\dataset.py in __translate_file(self, csv_path)
61 'vlrGlosa': self.__parse_float,
62 'vlrLiquido': self.__parse_float,
---> 63 'vlrRestituicao': self.__parse_fl
oat})
64
65 data.rename(columns={
C:\Users\rodolfoviana\AppData\Local\conda\conda\envs\serenata_de_amor\lib\site-p
ackages\pandas\io\parsers.py in parser_f(filepath_or_buffer, sep, delimiter, hea
der, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine
, converters, true_values, false_values, skipinitialspace, skiprows, nrows, na_v
alues, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer
_datetime_format, keep_date_col, date_parser, dayfirst, iterator, chunksize, com
pression, thousands, decimal, lineterminator, quotechar, quoting, escapechar, co
mment, encoding, dialect, tupleize_cols, error_bad_lines, warn_bad_lines, skipfo
oter, skip_footer, doublequote, delim_whitespace, as_recarray, compact_ints, use
_unsigned, low_memory, buffer_lines, memory_map, float_precision)
653 skip_blank_lines=skip_blank_lines)
654
--> 655 return _read(filepath_or_buffer, kwds)
656
657 parser_f.__name__ = name
C:\Users\rodolfoviana\AppData\Local\conda\conda\envs\serenata_de_amor\lib\site-p
ackages\pandas\io\parsers.py in _read(filepath_or_buffer, kwds)
409
410 try:
--> 411 data = parser.read(nrows)
412 finally:
413 parser.close()
C:\Users\rodolfoviana\AppData\Local\conda\conda\envs\serenata_de_amor\lib\site-p
ackages\pandas\io\parsers.py in read(self, nrows)
1003 raise ValueError('skipfooter not supported for iteration
')
1004
-> 1005 ret = self._engine.read(nrows)
1006
1007 if self.options.get('as_recarray'):
C:\Users\rodolfoviana\AppData\Local\conda\conda\envs\serenata_de_amor\lib\site-p
ackages\pandas\io\parsers.py in read(self, nrows)
1746 def read(self, nrows=None):
1747 try:
-> 1748 data = self._reader.read(nrows)
1749 except StopIteration:
1750 if self._first_chunk:
pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader.read (pandas\_libs\p
arsers.c:10862)()
pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader._read_low_memory (pa
ndas\_libs\parsers.c:11138)()
pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader._read_rows (pandas\_
libs\parsers.c:12175)()
pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader._convert_column_data
(pandas\_libs\parsers.c:14103)()
pandas/_libs/parsers.pyx in pandas._libs.parsers._apply_converter (pandas\_libs\
parsers.c:30644)()
c:\users\rodolfoviana\documents\code\serenata-de-amor\serenata-toolbox\serenata_
toolbox\chamber_of_deputies\dataset.py in __parse_float(self, string)
129
130 def __parse_float(self, string):
--> 131 return float(string.replace(',', '.'))
ValueError: could not convert string to float:
By the way I checked every .csv
file and they use ,
. So I believe they did not change the format.
Fixed by #124
When trying to
translate
the chamber of deputies files I'm getting aValueError: could not convert string to float
error. It's related to thisconverter:One idea is to using the
decimal
argument in theread_csv
instead of a function to handle the conversion of number such as3,1415
to3.1415
.In spite of that I must confess it might be an external issue: maybe the Chamber's server changed the format or the server itself if not as we expected it to be…