1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

表1にない配列を表2の上ではじいて保存する方法

Posted at

#概要
識別番号と名前が入った表1と、識別番号と名前と年齢が入った表2を比較して、表1にない人間を表2から弾きたいと思ったのですが、表1をチラチラみながら消すのは怖かったので自動化しました。

###前提
1.Macユーザー
2.jupyter notebookユーザー

###用意した配列
表1.csv
一列目:識別番号
二列目:名前

表2.csv
一列目:識別番号
二列目:名前
三列目:年齢

#手順

以下のようなコードを書いて実行します。

#表1,2を読み込む。区切り文字が,文字のタイプはunicodeを指定(つまり文字として読み込む)
table1 = np.loadtxt('表1.csv', delimiter=',', dtype = "unicode")
table2 = np.loadtxt('表2.csv', delimiter=',', dtype = "unicode")

#空のリストを作成
sy2 = []

#table2の中の1行目0列目の要素がtable1にあるかを確認。
#もしあればsy2という列にtable2の一行目の要素を追加する。
for i  in range(len(table2[:,0])):
    if table2[i,0] in table1[:,0]:
        sy2.append(table2[i,:])       

# sy2.csvという名前で保存。区切り文字は,で、文字の入った配列として保存する。
np.savetxt("sy2.csv",sy2,fmt="%s", delimiter=',')

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?