私は、温度、時間、減衰係数などを列挙した8つの列を持つテキストデータファイルを扱っています。私は、0.320から0.322の温度範囲でのみデータ行を取得する必要があります。 はここに私のデータのサンプルラインです(数千行があります):Pythonでのデータ処理
time temp acq. freq. amplitude damping etc....
6.28444 0.32060 413.00000 117.39371 48.65073 286.00159
私は気に唯一の列は、時間、温度、およびダンピングをしています。私はこれらの3つの値をリストに追加する必要がありますが、温度が指定された範囲内にあるときだけです(温度がすべて4ケルビンで上がっているデータがありますが、このデータはガーベージです)。私は、Python 3を使用しています
は、ここで私が試してみましたものですこれまで、私はこのコードを正しくのみという点で温度値のリストを埋めるなかったことを見ることができた私は、リストnewtempを印刷
f = open('alldata','r')
c = f.readlines()
temperature = []
newtemp = []
damping = []
time = []
for line in c [0:]:
line = line.split()
temperature.append(line[1])
damping.append(line[4])
time.append(line[0])
for i in temperature:
if float(i)>0.320 and float(i)<0.325:
newtemp.append(float(i))
しかし、私のダンピングリストと時間リストには、その小さな温度範囲に対応する値だけが埋め込まれている必要があります。私はこのコードでそれを達成する方法がわかりません。
また、私はここに誰かによって推奨され、これを試してみました:
output = []
lines = open('alldata', 'r')
for line in lines:
temp = line.split()
if float(temp[1]) > 0.320 and float(temp[1]) < 0.322:
output.append(line)
print(output)
そして、私はというエラーを取得:
IOPubデータ・レートを超過します。 ノートブックサーバは、クラッシュを避けるために、クライアントに出力 の送信を一時的に停止します。 この制限を変更するには、設定変数 --NotebookApp.iopub_data_rate_limit
を設定します。
私は非常にコーディングに新しいので、愚かな質問であることが判明した場合はお詫び申し上げます。
どう見ますか?それは、例えば、CSV、TSVまたはExcelですか? – tuomastik
Pythonスクリプトを使用してファイルからデータを抽出しますか?既に何かを実装しようとしましたか?どのようなファイルがありますか?私たちがあなたを助けるために、より多くの情報を提供する必要があります。データの小さな例を提供してください。 – KelvinS
どのような種類のファイルがありますか?エクセル、csv、txt?私はcsvをカバーする答えを投稿し、pythonでpandasモジュールを使用しています。 – sera