8,076 views
この記事は最終更新から 2374日 が経過しています。
3行6列のデータ配列を持つ CSVファイル を用意した。
[user@linux]$ cat test.csv 10,11,12,13,14,15 20,21,22,23,24,25 30,31,32,33,34,35
方法1:numpyの関数を使用する。
このファイルを numpy.loadtxt でリードしてみる。
>>> import numpy as np
>>> a = np.loadtxt('test.csv', delimiter=',')
>>> a
array([[ 10., 11., 12., 13., 14., 15.],
[ 20., 21., 22., 23., 24., 25.],
[ 30., 31., 32., 33., 34., 35.]])
全要素の値を2倍した後、その配列を numpy.savetxt で CSVファイルとしてセーブしてみる。
>>> b = a * 2
>>> b
array([[ 20., 22., 24., 26., 28., 30.],
[ 40., 42., 44., 46., 48., 50.],
[ 60., 62., 64., 66., 68., 70.]])
>>> np.savetxt('out.csv', b, delimiter=',', fmt='%d')
正しく出力できている!
[user@linux]$ cat out.csv 20,22,24,26,28,30 40,42,44,46,48,50 60,62,64,66,68,70
方法2:CSVパッケージを使用する。
numpyを使わず、csvパッケージを使う方法もある。
Read
>>> import csv
>>> with open('test.csv', newline='') as fh:
... spamreader = csv.reader(fh, delimiter=',')
... for row in spamreader:
... a.append(row)
...
>>> a
[['10', '11', '12', '13', '14', '15'], ['20', '21', '22', '23', '24', '25'], ['30', '31', '32', '33', '34', '35']]
>>>
Write
>>> with open('out2.csv', "w") as fh:
... writer = csv.writer(fh, lineterminator="\n")
... writer.writerows(a)
...
>>>
[user@linux]$ cat out2.csv
10,11,12,13,14,15
20,21,22,23,24,25
30,31,32,33,34,35
[user@linux]$
アクセス数(直近7日): ※試験運用中、BOT除外簡易実装済2026-04-19: 1回 2026-04-18: 0回 2026-04-17: 0回 2026-04-16: 0回 2026-04-15: 0回 2026-04-14: 0回 2026-04-13: 0回