我尝试将相当混乱的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 并开始清理数据。
1条答案
按热度按时间8wigbo561#
感谢@jqurious,因为他发现可以将format_type参数传递给xlsx2csv_options,xlsx2csv_options将日期列作为字符串读取。
下面的工作代码读取数据,避免错误