如何在读取Excel文件时停止Python自动日期解析

pra*_*har 5 python datetime python-3.x pandas xlwings

我需要读取 Excel 文件而不更改任何日期、时间格式、浮点格式并转换为数据框。如果我将 Excel 转换为 CSV 并使用 read_csv() 读取它,则效果很好。

例如:

import pandas as pd
import numpy as np
#code for reading excel
df=pd.read_excel("605.xlsx",parse_dates=False,sheet_name="Group 1",keep_default_na=False,dtype=str)
print("df_excel:")
#code for reading csv   

df1=pd.read_csv("Group 1.csv",parse_dates=False,dtype=str,na_filter = False)
 print("df_csv:",df1)
Run Code Online (Sandbox Code Playgroud)

输出: 在此输入图像描述

在上面的代码中,parse_dates=False 在读取 CSV 文件时工作正常,但 parse_dates=False 在 read_excel() 中不起作用

预期输出: 需要将精确的 Excel 数据放入数据框中,而不更改日期、时间格式。

小智 0

从 Pandas 文档中关于 read_excel() 的 parse_dates 参数:

\n

如果列或索引包含不可解析的日期,则整个列或索引将作为对象数据类型返回而不改变。如果您不想将某些单元格解析为日期,只需将 Excel 中的类型更改为 \xe2\x80\x9cText\xe2\x80\x9d。

\n

你可以试试这个:

\n
df = pd.read_excel("605.xlsx",parse_dates=False,sheet_name="Group1",keep_default_na=False,dtype=str, converters={'as_at_date': str})\n
Run Code Online (Sandbox Code Playgroud)\n

将日期列显式转换为字符串可能会有所帮助。

\n