-1

私はPythonを初めて使用し、以前のプログラミングのバックグラウンドを持っていません. しかし、大学が提供する python プログラミング コースを受講する予定です。この秋。小さなプロジェクトを完了しなければなりませんが、5 GB を超える小さなテキスト ファイル (それぞれが 50 kb) を処理する必要があります。

ファイル名が 20130325rand.dat のファイルがたくさんあります。ファイルには 3 行のヘッダーがあります (これを取り除く必要があります)。列を作成し、その列にファイル名の最初の 8 文字を日付 (mm/dd/yyyy) として追加する必要があります。

また、ファイル内にある変数の 12 行ごとの平均を計算する必要があります (読み取り値は 5 分ごとに測定され、1 時間ごとの平均を計算する必要があります)。これが大変な作業であることは承知していますが、提案、指示、およびヘルプをいただければ幸いです。ありがとう。

スクリーンショット:

スクリーンショット.

4

1 に答える 1

1

いくつかのポインタ:

テキスト ファイルを行のリストに読み込む:

with open('20130325rand.dat') as df:
    lines = df.readlines()

これにより、行のリストが表示されます。

In [17]: lines
Out[17]: ['# header 1', '# header 2', '# header 3', 'line 0', 'line 1', 'line 2', 'line 3', 'line 4', 'line 5', 'line 6', 'line 7', 'line 8', 'line 9', 'line 10', 'line 11', 'line 12', 'line 13', 'line 14', 'line 15', 'line 16', 'line 17', 'line 18', 'line 19', 'line 20', 'line 21', 'line 22', 'line 23', 'line 24']

最初の 3 行をスキップして 12 行ごとに取得するには:

In [18]: lines[3::12]
Out[18]: ['line 0', 'line 12', 'line 24']

これをスライシングと呼びます。テキストについても同じことができます:

In [19]: '20130325rand.dat'[:8]
Out[19]: '20130325'

Pythonのオンライン ドキュメントにはチュートリアルが含まれています。しかし、インターネット上には他にもたくさんあります。

Python へようこそ。幸運を祈ります!

于 2013-03-25T21:04:16.727 に答える