为什么csvkit的in2csv将date转换为整数?

我从这个URL下载了一个.xlsx文件,其中包含如下所示的行: 样本行

但是当我试图使用in2csv从csvkit版本0.9.1转换这个文件,我得到的输出行如:

3,,0.625,42185,42916,912828XJ4,1900-01-26,0.9119,-----,... 4,,0.875,41835,42931,912828WT3,1900-01-27,0.9122,-----,... 

我们得到的是整数,而不是可以识别为date的条目。 整数似乎是1900-01-01和xlsx中的相应date之间的天数。 此外,应该是整数($ 26和$ 27)的值以date格式显示! 有没有一种简单的方法让in2csv输出这些date的格式,他们是可识别的?

简而言之

只需升级openpyxl软件包。 这是一个已知的错误,并已修复。

 pip install --upgrade openpyxl 

升级后:

 3,,0.625,2015-06-30,2017-06-30,912828XJ4,26,0.9119,-----,... 4,,0.875,2014-07-15,2017-07-15,912828WT3,27,0.9122,-----,... 

在长

我将表格的典型行复制到新创build的.xlsx文件中,转换时出现以下错误:

 list index out of range 

跟踪例外情况:

 >>> from csvkit import convert >>> convert.convert(open('test.xlsx', 'rb'), 'xlsx') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python3.4/site-packages/csvkit/convert/__init__.py", line 39, in convert return xlsx2csv(f, **kwargs) File "/usr/local/lib/python3.4/site-packages/csvkit/convert/xlsx.py", line 51, in xlsx2csv book = load_workbook(f, use_iterators=True, data_only=True) File "/usr/local/lib/python3.4/site-packages/openpyxl/reader/excel.py", line 154, in load_workbook _load_workbook(wb, archive, filename, read_only, keep_vba) File "/usr/local/lib/python3.4/site-packages/openpyxl/reader/excel.py", line 209, in _load_workbook parsed_styles = read_style_table(archive) File "/usr/local/lib/python3.4/site-packages/openpyxl/reader/style.py", line 200, in read_style_table p.parse() File "/usr/local/lib/python3.4/site-packages/openpyxl/reader/style.py", line 56, in parse self.parse_cell_styles() File "/usr/local/lib/python3.4/site-packages/openpyxl/reader/style.py", line 138, in parse_cell_styles self._parse_xfs(node) File "/usr/local/lib/python3.4/site-packages/openpyxl/reader/style.py", line 160, in _parse_xfs format_code = self.number_formats[numFmtId-165] IndexError: list index out of range list index out of range 

所以事情发生在openpyxl软件包中,用于读取/写入Excel 2010 xlsx / xlsm文件。

这个问题已经在最新版本的openyxl 报告和修复 。 但是在csvkit

 openpyxl==2.2.0-b1 

根据这个问题 ,这只是一个解决方法,所以我想只是升级openpyxl (目前2.2.5),你是好的。