Python で一部のコードのフォーマットに問題があります。私のコードは次のとおりです。
keys = ['(Lag)=(\d+\.?\d*)','\t','(Autocorrelation Index): (\d+\.?\d*)', '(Autocorrelation Index): (\d+\.?\d*)', '(Semivariance): (\d+\.?\d*)']
import re
string1 = ''.join(open("dummy.txt").readlines())
found = []
for key in keys:
found.extend(re.findall(key, string1))
for result in found:
print '%s = %s' % (result[0],result[1])
raw_input()
これまでのところ、次の出力が得られています。
ラグ = 1
ラグ = 2
ラグ = 3
自己相関指数 = #値
……
……
準分散 = #値
しかし、私が望む望ましい出力は次のとおりです。
Lag AutoCorrelation Index AutoCorrelation Index Semivariance
1 #value #value #value
2 #value #value #value
3 #value #value #value
この出力がCSVファイルまたは txt ファイルで可能であれば、それは素晴らしいことです!
これはループを出力する方法だと思いますが、私はループが得意ではありません。
更新されたコード (旧バージョン)
@mutzmatronの回答に基づく
keys = ['(Lag)=(\d+\.?\d*)',
'(Autocorrelation Index): (\d+\.?\d*)',
'(Semivariance): (\d+\.?\d*)']
import re
string1 = open("dummy.txt").readlines().join()
found = []
for key in keys:
found.extend(re.findall(key, string1))
raw_input()
for result in found:
print '%s = %s' % (result[0], result[1])
raw_input()
まだコンパイルされていません!IDLE python 2.6 を使用していますが、プロンプトの一時停止コマンドがわからないため、エラー メッセージがわかりません。
元の質問
私はPythonにまったく慣れていないので、質問があります。大きなテキスト ファイルを処理しようとしています。これはほんの一部です:
Band: WDRVI20((0.2*b4-b3)/((0.2*b4)+b3))
Basic Statistics:
Min: -0.963805
Max: 0.658219
Mean: 0.094306
Standard Deviation: 0.131797
Spatial Statistics, ***Lag=1***:
Total Number of Observations (Pixels): 769995
Number of Neighboring Pairs: 1538146
Moran's I:
***Autocorrelation Index: 0.8482564597***
Expected Value, if band is uncorrelated: -0.000001
Standard Deviation of Expected Value (Normalized): 0.000806
Standard Deviation of Expected Value (Randomized): 0.000806
Z Significance Test (Normalized): 1052.029088
Z Significance Test (Randomized): 1052.034915
Geary's C:
***Autocorrelation Index: 0.1517324729***
Expected Value, if band is uncorrelated: 1.000000
Standard Deviation of Expected Value (Normalized): 0.000807
Standard Deviation of Expected Value (Randomized): 0.000809
Z Significance Test (Normalized): 1051.414163
Z Significance Test (Randomized): 1048.752451
***Semivariance: 0.0026356529***
Spatial Statistics, Lag=2:
Total Number of Observations (Pixels): 769995
Number of Neighboring Pairs: 3068924
Moran's I:
Autocorrelation Index: 0.6230691635
Expected Value, if band is uncorrelated: -0.000001
Standard Deviation of Expected Value (Normalized): 0.000571
Standard Deviation of Expected Value (Randomized): 0.000571
Z Significance Test (Normalized): 1091.521976
Z Significance Test (Randomized): 1091.528022
Geary's C:
Autocorrelation Index: 0.3769372504
Expected Value, if band is uncorrelated: 1.000000
Standard Deviation of Expected Value (Normalized): 0.000574
Standard Deviation of Expected Value (Randomized): 0.000587
Z Significance Test (Normalized): 1085.700399
Z Significance Test (Randomized): 1061.931158
Semivariance: 0.0065475488
Autocorrelation Index
星 *** の値 ( : 、 values など)の間の情報を抽出してSemivariance
処理する必要があります。おそらく、別のテキスト ファイルまたは Excel ファイルに書き込む必要があります。それをしてもいいですか?助けていただければ幸いです。