0

同じディレクトリから 2 つの異なるファイルを読み取ろうとするプログラムを Python で作成しています。私のコードは次のようになります。

for i in spectra_files:                                           
    with open(i, 'r') as f:
        numbers = []  #list to store all mass spectrum data directly from file before being processed
        for line in f:
            if line[0].isdigit():  #skips header in file
                numbers.append(line)

        str_data = ''.join(numbers)
        #creates list for the mass and list for the intensity. to be used for plotting
        spectrum_mass = [int(x.split(',')[0].strip()) for x in str_data.split()]
        spectrum_intensity = [int(x.split(',')[1].strip()) for x in str_data.split()]
        spectrum_mass.append('||')
        spectrum_intensity.append('||')
        spectra_files = spectra_files[spectra_files.index(i)+1:]

現在、ファイルの名前のリストをループしてから、それらのデータをスペクトル質量とスペクトル強度のリストに追加しています。ただし、これは機能せず、リストの最後のファイルからデータを追加するだけです。助言がありますか?

4

2 に答える 2

0

ループの外でリストを作成します。反復ごとに、リストが上書きされます。そして、もう 1 つの提案。ご質問いただくと・・・ ファイル内の行で何をしているかの無関係なコードをスキップして、最小限のダミーコードを実行してください。これにより、フォローして回答することがはるかに簡単になります。

あなたのコードでは、2つのファイルを同時に「読んでいる」わけではありません。一度に 1 つのファイルをループで読み取り、2 つのリストで同時に「書き込み」を行っています。

役立つことを願っています

于 2015-07-24T17:56:14.597 に答える