2017-12-02 19 views
0

私はcsvデータセットからさまざまな数値(平均、中央値など)を計算し、この情報をtxtファイルに書き込もうとしています。参考までに、私のデータセットはSATスコアですので、私が以下に示すサンプルはSATの読み値のコードです。今、私は、配列を使用しようとし、これを持っています:配列を使用してPython 3のtxtファイルに変数を書き込む

a=[1,2,3,4,5,6] 
    b=[rmean, rmed, rmax, rmin, rsd, rvar] 

    output=open("output.txt", "w") 
    output.write("For the variable READ:\n The mean is") 
    for i in range(len(a)): 
     output.write(" %i %5.2f\n" % (a[i], b[i])) 
    output.close() 


私はtxtファイルのようなものを見てみたい:変数READについて

を、平均はの[値であり、私はDに配列を操作するにはどうすればよい

など、] rmean]変数、 中央値はrmed変数の[値であり、それは現在出力しているマトリックスビューとは対照的ですか?さらに、配列aの数値を使用しなくても、またはそれらをtxtファイルの出力に表示させないようにする方法はありますか?ありがとうございました!

+0

Can正確に問題を明確にしようとしていますか?あなたは配列と言うが、あなたは2つのリストを持っている。また、「マトリックスビュー」についても言及しますが、正確にはどういう意味ですか? –

+0

この用語についてはごめんなさい、初心者は大変です。私は行列を数学的に記述すると言っていましたが、出力は2列6行で予想通りです。トーマスは、あなたが好奇心があったかどうかを明らかにするかもしれない以下の解決策で私を助けました。ありがとう! – Hannah

答えて

1

すべての値で1行だけを印刷し、すべての値を既に計算して変数として保存していることを正しく理解していますか?その場合には ループあなたのリストから読みたい場合の

output.write("For the variable READ:\n The mean is {0}, the median is {1}, the max is {2}, etc".format(rmean, rmedian, rmax, ...)) 

のための必要がない

output.write("For the variable READ:\n The mean is {0}, the median is {1}, the max is {2}, etc".format(b[0], b[1], b[2], ...)) 
+0

それはまさにそれです、ありがとうございます。変数は既に定義されているので、配列は完全に不要ですか? – Hannah

+0

はい、この場合、配列は必要ありません。 – Thomas

0

は私のソリューションは以下のようになり、この1:

with open("output.txt", "w") as f: 
    f.write("For the variable READ:\n ") 
    for i in range(len(a)): 
     f.write("The %4s is %5.2f\n" %(b[i][1:], a[i])) 

しかし、 bを次のように変更した場合:

b = ['mean', 'median', 'max', 'min', 'sd', 'variance'] 


with open("output.txt", "w") as f: 
    f.write("For the variable READ:\n ") 
    for i in range(len(a)): 
     f.write("The %-8s is %5.2f\n" %(b[i], a[i])) 
関連する問題