Excelのデータの数値が、日付 1900/**/**に誤変換されており、該当セルをPythonで検出して数値に変換したい。
datetimeで検出して型変換をすればよいでしょうか?
ExcelからPythonへは、どのようにデータをやり取りしていますか?
質問が不明瞭ですみません。
元データが xls 形式ですので、xlsx に変換するときにambiguous error が出ます。
convert_xls_to_xlsx(
xls_file_path=r'C:\Users\hoge\AppData\Local\Programs\Python\Python38-32\fugo.xls',
dest_path=r'C:\Users\hote\AppData\Local\Programs\Python\Python38-32\fugo.xlsx')
該当部分のセルを確認すると、数値が日付 1900/*/*に変換されているため、コンバートする前に検出して修正できたらと思い質問しました。
.xls形式のファイルを読んでPythonで加工して.xlsxに吐き出す
その過程で 1999/00/00 が 1900/00/00 にならないように加工するということでしょうか。
「1900/ に誤変換」「1900/*/*に変換されているため」と言われても何が正解なのか分からないです。
正解は 19YY なのに 1900となってしまうのが問題?
正解は 20YY なのに 1900となってしまうのが問題?
現象が再現する実行できるコードと、できれば.xlsファイルも提示ください。
ご連絡が遅くなって申し訳ありません。
.xlsファイルについては、仕事で使用している資料のため提示することができません。
Excel で数値が日付に”勝手に”変換される が、既知の問題とのことでしたのでPythonで修正できたらよいかと思い質問いたしました。
手元の xls では、0.2 と数値が入るべきところが、1990/1/0 となっています。
正→0.2 誤→1990/1/0
Python で、xls からxlsx に convert するとambiguous error がでる状態です。
0.2 の列あるいはセルをExcelにて数値型にすればよいのではないですか?
Pythonでエラーが出ているならばコードを示していただかないと分からないです
Excel のセルを数値型にしていたのですが、Excel のデータが多かったので Pythonでできないかと考えました。
上のほうに書いたコード ”convert_xls_to_xlsx( ” でエラーがでますが、xlsファイルをご提示できないため わかりにくくなってしまい申し訳ありません。
もうすこし自力でやってみます。
ありがとうございました。
あなたの回答
tips
プレビュー