私は様々なgzipとbz2圧縮ファイルをプルするスクリプトを持っています。私はそれらを引っ張った後、私はファイルを記述し、内に含まれているファイルの種類に基づいて拡張子を追加するスクリプトを書くことを探しています。Pythonはgzippedファイルがxmlかcsvかどうかを確認します
私が心配しているファイル形式にはxml、csv、およびtxtファイルが含まれていますが、csvファイルとtxtファイルの間の区別は心配していません。
私はpython-magicライブラリを使用して、使用する圧縮解除ライブラリ(bz2とgzip)を判断しましたが、ファイルタイプを判別する最も簡単な方法を知りたいと思っています。 python-magicを使って私は:
>>> ftype = m.from_file("xml_test.xml")
>>> ftype
'ASCII text'
>>> ftype = m.from_file("csv_test.csv")
>>> ftype
'ASCII text'
私の現在の計画は、各ファイルの最初の行を読み込み、それに基づいて判断することです。簡単な方法がありますか?
私が最初にこの質問に語ったのは、私が最初にこの質問に語ったことです。 ファイルが有効なXMLかどうかをチェックし、有効なCSVかどうかをチェックしますそれが有効なCSVではなく、有効なプレインテキストは、応答として
注ことを返すことです。そこの部分的な答えhereだったが、このソリューションは、あなたがすることはできませんCSVチェックではなく、XML、TXTなど
フェア:あなたは、パフォーマンスのために外出する場合、単にsaxまたはcsv.readerの項目を無視することによって、例えば、実際のドキュメントツリーの構築を、スキップ有効なCSV/XMLです。私の元の質問は幾分不完全で、私は質問を編集して私が探しているものをより正確に示すようにします –
@SamJohnson入力が有効なXMLかどうか、そしてそれが有効なCSVかどうかをチェックするソリューションで更新されました。 – phihag
csvとtextのソリューションは、私がテストしたいくつかのファイルでは動作していないようです。代わりに、私は100%溶媒ではありませんが、注意を払う必要があるソリューション[ここ](http://stackoverflow.com/questions/2984888/check-if-file-has-a-csv-format-with-python)を使用しましたほとんどすべての症例の –