He estado intentando convertir varios archivos xlsx que son muy anchos (más de 200 columnas) en archivos csv para poder agregarlos en un solo archivo para su análisis. He estado intentando usar csvkit, pero simplemente se bloquea en los archivos.
El mensaje de error cuando activo el modo detallado varía cada vez que lo ejecuto. Aquí hay uno:
C:\_analysis>in2csv -v 85910332_PE20160101_RECLMEXP.xlsx > test.csv
c:\python35\lib\site-packages\openpyxl\workbook\names\named_range.py:121: UserWarning: Discarded range with reserved name
warnings.warn("Discarded range with reserved name")
Traceback (most recent call last):
File "C:\Python35\Scripts\in2csv-script.py", line 9, in <module>
load_entry_point('csvkit==0.9.1', 'console_scripts', 'in2csv')()
File "c:\python35\lib\site-packages\csvkit\utilities\in2csv.py", line 82, in launch_new_instance
utility.main()
File "c:\python35\lib\site-packages\csvkit\utilities\in2csv.py", line 76, in main
data = convert.convert(self.input_file, filetype, **kwargs)
File "c:\python35\lib\site-packages\csvkit\convert\__init__.py", line 39, in convert
return xlsx2csv(f, **kwargs)
File "c:\python35\lib\site-packages\csvkit\convert\xlsx.py", line 66, in xlsx2csv
value = c.value
File "c:\python35\lib\site-packages\openpyxl\cell\read_only.py", line 107, in value
if self.data_type == 'b':
KeyboardInterrupt
Cuando lo ejecuté nuevamente, el error fue ligeramente diferente:
C:\_analysis>in2csv -v 85910332_PE20160101_RECLMEXP.xlsx > test.csv
c:\python35\lib\site-packages\openpyxl\workbook\names\named_range.py:121: UserWarning: Discarded range with reserved name
warnings.warn("Discarded range with reserved name")
Traceback (most recent call last):
File "C:\Python35\Scripts\in2csv-script.py", line 9, in <module>
load_entry_point('csvkit==0.9.1', 'console_scripts', 'in2csv')()
File "c:\python35\lib\site-packages\csvkit\utilities\in2csv.py", line 82, in launch_new_instance
utility.main()
File "c:\python35\lib\site-packages\csvkit\utilities\in2csv.py", line 76, in main
data = convert.convert(self.input_file, filetype, **kwargs)
File "c:\python35\lib\site-packages\csvkit\convert\__init__.py", line 39, in convert
return xlsx2csv(f, **kwargs)
File "c:\python35\lib\site-packages\csvkit\convert\xlsx.py", line 58, in xlsx2csv
for i, row in enumerate(sheet.iter_rows()):
File "c:\python35\lib\site-packages\openpyxl\worksheet\iter_worksheet.py", line 103, in get_squared_range
for _event, element in p:
File "c:\python35\lib\xml\etree\ElementTree.py", line 1290, in __next__
for event in self._parser.read_events():
File "c:\python35\lib\xml\etree\ElementTree.py", line 1257, in read_events
index = self._index
KeyboardInterrupt
¿Algunas ideas?
Estoy ejecutando Windows 10, los archivos fuente están en Excel 2013, Python 3.5.1 y las siguientes versiones de la biblioteca csvkit==0.9.1 jdcal==1.2 numpy==1.10.2 openpyxl==2.2.0b1 python-dateutil ==2.2 seis==1.10.0 SQLAlchemy==1.0.13 xlrd==1.0.0