私のコードの目的は、記録されたデータを含むファイルを開いて読み込み、ファイルを閉じずに2行目を印刷することです。以下は私がタイプしたコードです。'NoneType'オブジェクトはサブスクリプト化できません。\ number crunching
with open("dataset.txt", 'r') as f:
for line in f:
print (line.split("\t"))[1]
プログラムは実行を終了しますが、以下を返します。最初に印刷されたインデックスは、私が欲しいものです。
['X_Value', 'M.LM.T', 'VapPres.T', 'CCS.F1.T', 'CCS.F2.T', 'CCS.F3.T', 'AB.F4.T', 'CCS.F5.T', 'AB.M1.T', 'AB.M2.T', 'AB.M3.T', 'AB.M4.T', 'AB.M5.T', 'M.LM.R', 'CCS.F1.R', 'CCS.F2.R', 'CCS.F3.R', 'AB.F4.R', 'CCS.F5.R', 'AB.M1.R', 'AB.M2.R', 'AB.M3.R', 'AB.M4.R', 'AB.M5.R', 'Flow.SLM', 'M.LM.R 1', 'VapPres.P', 'VapPres2.P', 'Comment', '', '', '', '\n']
Traceback (most recent call last):
File "C:/Users/Tristan/Desktop/data informatics/test.py", line 16, in <module>
print (line.split("\t"))[1]
TypeError: 'NoneType' object is not subscriptable
私はそれが全体の列を出力
print (line.split("\t")[1])
または
print (line.split("\t")[1])
を試してみてください。
'NoneType' TypeErrorを削除するにはどうすればよいですか?
'print((line.split(" \ t ")))[1]'これは構文的にはPython 3.xでは間違っています。 'print(line.split(" \ t "))'を印刷してアップロードしてください。あなたが書いた 'print((line.split(" \ t "))[1])'には仕事が必要です。 –
頭をアップしてくれてありがとう@ormi_saadonしかし、この調整をしても同じエラーが返されます。これは、ファイルの行の最後にある ""を読み込んでいるPythonの誤りでしょうか? – vipers356