0

これまでに作成したプログラムのコードは次のとおりです。クラス プロジェクトで NBA プレーヤーの効率を計算しようとしています。すべての統計を含むコンマ区切りファイルでプログラムを実行すると、各コンマで分割するのではなく、統計ファイルの行全体のリスト エントリが作成されます。範囲外のインデックス エラーが発生するか、各文字が個別のフィールドではなくインデックス ポイントとして扱われます。私はこれに不慣れですが、そのリストの要素で区切られたファイル内の各行のリストを作成する必要があるようですので、リストのリストを取得します。私は自分自身を理解してくれたことを願っています。

コードは次のとおりです。

def get_data_list (file_name):
    data_file = open(file_name, "r")
    data_list = []
    for line_str in data_file:

        # strip end-of-line, split on commas, and append items to list
        line_str.strip()       
        line_str.split(',')

        print(line_str)

        data_list.append(line_str)
        print(data_list)                






file_name1 = input("File name: ")
result_list = get_data_list (file_name1)


print(result_list)

データ ファイルを投稿して試してみる方法はわかりませんが、コンマで区切られた数字のファイルであればどれでも動作するはずです。

データ ファイルを投稿したり、メールで送信したりする方法がありましたら、喜んでお手伝いさせていただきます。

ボリバー

4

1 に答える 1

3

文字列は不変のオブジェクトです。つまり、文字列をその場で変更することはできません。つまり、文字列に対する操作はすべて新しいものを返します。次に、コードを見てください。

line_str.strip()            # returns a string      
line_str.split(',')         # returns a list of strings
data_list.append(line_str)  # appends original 'line_str' (i.e. the entire line)

これは次の方法で解決できます。

stripped = line_str.strip()
data = stripped.split(',')
data_list.append(data)

または、文字列操作を連結します。

data = line_str.strip().split(',')
data_list.append(data)
于 2012-12-03T00:14:29.920 に答える