0

拡張子が .xls の Excel ファイルがありますそのタイプはTab Space Separated Textです。

MS Excel でファイルを開こうとすると、拡張子が偽物であると表示されます。そして、ファイルを信頼できることを確認して、それを読み取れるようにする必要があります。

しかし、私の本当の問題は、xlrdライブラリでファイルを読み込もうとすると、次のメッセージが表示されることです:

xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record;

この問題を解決するために、MS Excel で [名前を付けて保存]に移動し、タイプを手動で .xls に変更します。

しかし、私の上司は、これをコードで行う必要があると主張しています。Linux のシェル スクリプトWindows の .bat ファイル、またはPythonの3 つの選択肢があります。

では、シェルスクリプト(コマンドライン)、.bat、またはPythonを使用して、Excelファイルのタイプをタブスペースで区切られたテキストからxlsファイルに変更するにはどうすればよいですか?

4

2 に答える 2

1

mvファイル.{xls,csv}

これは csv ファイルです。Excel ファイルとして扱うのをやめると、作業が大幅に改善されます。:) ほとんどの言語で利用できる素敵な csv 操作ツールがあります。Excelライブラリは本当に必要ですか?

于 2013-09-02T13:38:08.993 に答える
0

ファイルの実際のタイプは、ファイルの名前ではなく、ファイルの内容によって決まります。 xlrd名前はまったく気にせず、内容を気にするのでxlrd、問題ではなく、タスクにも関係ありません。

「タブスペースで区切られたテキスト」の意味がわかりません。'\t '値は(タブ文字の後にスペース文字が続く) で区切られていますか? 時にはタブ、時にはスペース?

セパレーターが定数の場合は、Python のcsvモジュールを使用してください。セパレータが空白で、データに空白が含まれていない場合は、Python のsplit()文字列メソッドを使用できます。セパレーターが変化、データに表示される場合は、それを解析するためにもっと手の込んだものを書く必要があります。

いずれにせよ、データを読み取ったら、実際の .xlsファイルを書き出すための最良の Python オプションはxlwtモジュールです。

于 2013-09-02T14:59:45.813 に答える