前提・実現したいこと
Pythonで乱数を用いて30行2列の2次元配列を作成し、csvファイルに出力しています。
また、そのcsvファイルからランダムに1つの要素を選んでくるというプログラムを完成させたいと考えています。
プログラム初心者なので言葉足らずな部分や間違えてしまっている部分もあるかと思います。
その際はそこも含めてご教授してくださると幸いです。
発生している問題・エラーメッセージ
・csvに書き込む際に、2行30列で読み込まれてしまっている。←これは数値を入れ替えれば解決できるがcsvファイルが見にくくなってしまう。 ・2次元配列の1つ目の要素を取り出すため、print(i[0][0])のように書くと、 例えばi = [[1.244, 2.376], [3.765, 9.355]]の場合、理想はprint(i[0][0]) = 1.244なのだが、print(i[0][0]) = 1と出力されてしまう
該当のソースコード
ソースコード1(csvに書き込むためのもの) import numpy as np from numpy.random import * import csv egg = [] egg = rand(30, 2) * 10 np.savetxt('dataset1.csv', egg, delimiter=',', fmt='%.20f') print('書き込みが正常に終わりました') ------------------------------------------------------------------------- ソースコード2(ソースコード1からある要素を取り出すためのもの) import csv csv_file = open("./dataset1.csv", "r", encoding="ms932", errors="", newline="") f = csv.reader(csv_file, delimiter=",", doublequote=True, lineterminator="\r\n", quotechar='"', skipinitialspace=True) for i in f: print(i[0]) print(i[0][0])
試したこと
・ソースコード1の30と2を入れ替える→おそらく30行2列にはなったがcsvファイルが見にくい。また、ソースコード2の不具合は解消されない。
補足情報(FW/ツールのバージョンなど)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/04 04:41