保存date时间单元格后,pandas不会读取excel文件

我正在用pandas read_excel读取一个文件

df0 = pd.read_excel(cfname,'Calendari', index_col=0, parse_cols='A:R', converters={'Categoria':str,'Fase':str, 'Grupo':str, 'Jornada':str, 'Partido':str, 'IdPartido':str,'Leido':str}) df0.head() 

输出是:

 Linea Categoria Fase Grupo Jornada Partido IdPartido Leido Data Hora 2 CCM 1 1 1 -1 NaN No Jornada 1 NaN 3 CCM 1 1 1 0 NaN No Data Hora 4 CCM 1 1 1 1 CCM110101 No 2017-09-30 00:00:00 19:30:00 5 CCM 1 1 1 2 CCM110102 No 2017-09-30 00:00:00 17:45:00 6 CCM 1 1 1 3 CCM110103 No 2017-09-27 00:00:00 18:00:00 

我用openpyxl写了一个新的date:在第6行我写2017-10-01

 from openpyxl import load_workbook wb = load_workbook(filename = cfname, keep_vba=True) ws = wb.get_sheet_by_name('Calendari') cell = ws['I6'] cell.value = datetime.strptime('01/10/2017', "%d/%m/%Y") cell.number_format = 'dd/mm/yyyy' wb.save(filename = cfname) 

在Excel中,date似乎很好地保存,date格式。 但是当我用pandas read_excel再次读取文件时,数据已经改变了
Jornada Partido IdPartido的值为NaN

 Linea Categoria Fase Grupo Jornada Partido IdPartido Leido Data Hora 2 CCM 1 1 NaN NaN NaN No Jornada 1 NaN 3 CCM 1 1 NaN NaN NaN No Data Hora 4 CCM 1 1 NaN NaN NaN No 2017-09-30 00:00:00 19:30:00 5 CCM 1 1 NaN NaN NaN No 2017-09-30 00:00:00 17:45:00 6 CCM 1 1 NaN NaN NaN No 2017-10-01 00:00:00 18:00:00 

我不知道为什么。 我尝试与转换器,没有他们,不同的date格式,…
请帮帮我吗?

如果您已经使用openpyxl打开了一个文件,那么您可以使用内置的实用程序将其转换为Pandas。 http://openpyxl.readthedocs.io/en/default/pandas.html

由于这些值已被转换为Python对象,所以转换pandas是快速可靠的。

我正在做testing。 最终我发现,如果我打开并保存excel文件出来的python(与Excel程序),当我尝试再次阅读与pandas文件已经不会给我的错误。

我什么都不懂 有东西不能很好地与

 wb.save(filename = cfname) 

这将是因为我的Excel文件是一个macrosxlxm? 我打开它:

 wb = load_workbook(filename = cfname, keep_vba=True)