python 日期格式的Polars read_excel问题

sd2nnvve  于 2023-03-11  发布在  Python
关注(0)|答案(1)|浏览(345)

我尝试将相当混乱的excel文件读取到Polars Dataframe ,但收到“XlsxValueError:错误:可能无效的日期格式。
我认为这个问题与某些日期列值是excel数字日期格式有关,这会引发错误。有没有办法设置Polars或Xlsx2csv选项,我想将列读取为字符串类型,而不是尝试转换为日期。我尝试将inferschema_length设置为0,以将列读取为字符串,但看起来已经是xlsx2csv写入程序引发了错误。
我的代码目前如下:

pl.read_excel(file="file_path",
         sheet_name="sheet_name",
        read_csv_options={"infer_schema_length":0},
         xlsx2csv_options={"skip_hidden_rows":False})

输出:

XlsxValueError: Error: potential invalid date format.

当用Pandas read_excel阅读数据时,它不会产生错误。当试图将Pandas df转换为极坐标时,它会产生错误:

df = pd.read_excel("file_name",
         sheet_name="sheet_name")
pl.from_pandas(df)

输出:

ArrowTypeError: Expected bytes, got a 'int' object

目前的变通方案(不理想)是用Pandas读取字符串格式的数据,然后转换为Polars Dataframe 并开始清理数据。

8wigbo56

8wigbo561#

感谢@jqurious,因为他发现可以将format_type参数传递给xlsx2csv_options,xlsx2csv_options将日期列作为字符串读取。
下面的工作代码读取数据,避免错误

pl.read_excel(file="file_path",
         sheet_name="sheet_name",
         xlsx2csv_options={"ignore_formats":["date"]})

相关问题