2

私はこれが可能であることを知っています。簡単な解決策があることは知っていますが、試したことはすべて失敗しました。

契約は次のとおりです。

939,019 の気象観測所レコード (行) を含む Excel 形式のデータセットがあります。日付/時間間隔は、1993 年 1 月 29 日 16:30 から 2013 年 6 月 30 日 24:00 まで 10 分ごとです。計算すると、行が欠落していることは明らかです。

欠落している日付/時刻を知る必要があります。不足している間隔の開始日時と終了日時を返す小さなプログラム/スクリプトがあればいいのにと思います。しかし、欠落している日付/時刻のリストに満足しています。

それを理解するために、私が必要なのは、欠落している日付とリストを比較し、ギャップにフラグを立てたり返したりするための参照リストだけであると思いました。

そこで、Excel で測候所のデータに隣接する列を作成し、最初の行に開始日を入力しました。後続の行は、その上のセルに 10 分を追加するだけです。残念ながら、その 20 年間の 10 分間隔の数は、Excel が処理できる数を超えています。心配ない。十分に近づいています (2013/1/6 10:50)。

とにかく、Excel で MATCH 関数を試しましたが、時間がかかりすぎます。これを入力している間に、3% に達しました (12 プロセッサを使用)。30 の気象ステーション (同じ日付範囲) を実行する必要があります。これを行うためのより速い方法を見つけることができることを願っています。

ということで、次にAcessを試してみました。ファイル (気象観測データと別の参照日付リスト) を Access のテーブルとしてインポートし、UNMATCHED クエリを実行するだけだと思っていましたが、何らかの理由で (日付列 (日付/時刻、シリアル) をどのようにフォーマットしても) number)、クエリはほぼすべての行を一致しないものとして返します.理由はわかりませんが、それは迅速に実行されますが、明らかに間違っています.

それから私は考えました-パイソン!それでいいよね?しかし、私はGISの人です。Python サンプル スクリプトを使用してジオプロセシング ツールを実行したことがある (または ESRi のモデル ビルダーを使用した) だけです。どこから始めればいいのか、まったくわかりません。ポインタはありますか?

4

1 に答える 1

2

まず、 、、およびモジュールとドキュメントについてpython-excel.orgをチェックしてください(ファイルを操作していると仮定していますが、そうでない場合は をチェックしてください)。それらをインストールしたら、ドキュメントを読んで慣れてください。長すぎたり、複雑すぎたりすることはありません。実際の比較はそれほど難しいものではありません。セル N を読み取り、その値をセル N+1 と比較して、差が 10 分かどうかを確認するだけです。そうであれば、次の値に進みます。そうでない場合は、値を新しいワークブックに出力します (または、やりたいこと - 欠落している時間を空白行に挿入して再度計算するか、または何が必要か)。xlrdxlwtxlutils.xls.xlsxopenpyxl

3,000 万件のレコードを処理するのにどれくらいの時間がかかるかはわかりませんが、Excel 自体で実行するよりも高速になることは間違いありません :)

幸運を!

于 2013-12-20T04:41:30.790 に答える