gpt4 book ai didi

python - Polars read_excel 的日期格式问题

转载 作者:行者123 更新时间:2023-12-03 07:57:41 34 4
gpt4 key购买 nike

我正在尝试将相当困惑的 Excel 文件读取到 Polars 数据帧,但收到“XlsxValueError:错误:潜在无效的日期格式。”。

我认为该问题与某些采用 Excel 数字日期格式的日期列值有关,从而引发了错误。有没有办法让我对 Polars 或 Xlsx2csv 选项进行设置,我希望将列读取为字符串类型,而不是尝试转换为日期。我尝试将 infer_schema_length 设置为 0 以将列读取为字符串,但看起来它已经是 xlsx2csv writer 引发了错误。

我的代码目前如下:

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 数据帧并开始清理数据。

最佳答案

感谢@jqurious,因为他发现您可以将 format_type 参数传递给 xlsx2csv_options,后者将日期列读取为字符串。

下面的工作代码读取数据并避免错误

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

编辑 22 年 4 月 17 日:

此外,尽管我使用了“ignore_formats”:[“date”],但我的 Excel 文件仍引发相同的错误。那么解决方法是忽略“float”的格式,并在 Xlsx2csv writer 中将所有内容读取为字符串,如下所示:

pl.read_excel(
source=r"path\file.xlsx",
sheet_name="sheet_name",
xlsx2csv_options={"skip_hidden_rows": False, "ignore_formats": ["float"]},
read_csv_options={"infer_schema_length": 0},
)

关于python - Polars read_excel 的日期格式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75644459/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com