csvkit を使用して非常に幅の広い xlsx ファイルを変換する方法 -- 奇妙なエラー メッセージ

csvkit を使用して非常に幅の広い xlsx ファイルを変換する方法 -- 奇妙なエラー メッセージ

非常に幅の広い (200 列を超える) xlsx ファイルをいくつか csv ファイルに変換して、分析用に 1 つのファイルに集約しようとしています。csvkit を使用しようとしていますが、ファイルでハングしてしまいます。

詳細モードをオンにしたときに表示されるエラー メッセージは、実行するたびに異なります。たとえば、次のようになります。

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

もう一度実行すると、エラーが少し異なりました。

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

何か案は?

私は Windows 10 を実行しており、ソース ファイルは Excel 2013、Python 3.5.1、次のライブラリ バージョンを使用しています: csvkit==0.9.1、jdcal==1.2、numpy==1.10.2、openpyxl==2.2.0b1、python-dateutil==2.2、six==1.10.0、SQLAlchemy==1.0.13、xlrd==1.0.0

関連情報