質問編集履歴

2

csvファイルのサンプルを書きました。

2018/11/16 07:43

投稿

essa
essa

スコア81

test CHANGED
File without changes
test CHANGED
@@ -99,3 +99,95 @@
99
99
 
100
100
 
101
101
  下から二行目の部分のrow[10]とcodelistが一致しているもののみ、nrowsに代入したいと考えています。
102
+
103
+
104
+
105
+
106
+
107
+ #######################
108
+
109
+ 更に追記
110
+
111
+ #######################
112
+
113
+
114
+
115
+ ほげほげ.csvが以下です。
116
+
117
+ ```
118
+
119
+ 品物 A(row[0]) B(row[1]) C(row[2])
120
+
121
+ あ 111 222 333
122
+
123
+ い 111 222 333
124
+
125
+ う 111 222 333
126
+
127
+ え 111 222 333
128
+
129
+ お 111 222 333
130
+
131
+ か 111 222 333
132
+
133
+ き 111 222 333
134
+
135
+ く 111 222 333
136
+
137
+ け 111 222 333
138
+
139
+ こ 111 222 333
140
+
141
+ さ 111 222 333
142
+
143
+ し 111 222 333
144
+
145
+
146
+
147
+
148
+
149
+ ```
150
+
151
+
152
+
153
+ ほげほげ書き込み.csvが以下です。
154
+
155
+ ```
156
+
157
+ Z
158
+
159
+ 111
160
+
161
+ 222
162
+
163
+ 333
164
+
165
+ 111
166
+
167
+ 222
168
+
169
+ 333
170
+
171
+ 111
172
+
173
+ 222
174
+
175
+ 333
176
+
177
+ 111
178
+
179
+ 222
180
+
181
+ 333
182
+
183
+ ```
184
+
185
+
186
+
187
+ 例えばこの場合、AとZを比較します。
188
+
189
+ そうなると、品物の「あ」「え」「き」「こ」
190
+
191
+ が抽出できる
192
+
193
+ というような感じです。

1

コード追記

2018/11/16 07:43

投稿

essa
essa

スコア81

test CHANGED
File without changes
test CHANGED
@@ -41,3 +41,61 @@
41
41
 
42
42
 
43
43
  どうぞよろしくお願いいたします。
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+ =======================
52
+
53
+ 下記追記です。
54
+
55
+
56
+
57
+ コードは下記の様な感じです。
58
+
59
+ ```Python
60
+
61
+ # -*- coding: utf-8 -*-
62
+
63
+ import pandas as pd
64
+
65
+ import csv
66
+
67
+ import sys
68
+
69
+ code = pd.read_csv("ほげほげ.csv",engine='python',encoding='utf-8')
70
+
71
+ codelist = code.values.tolist()
72
+
73
+ codelist = [ flatten for inner in kcl for flatten in inner ]
74
+
75
+
76
+
77
+ with open("ほげほげ書き込み.csv",encoding='utf-8',errors='ignore') as f:
78
+
79
+ reader = csv.reader(f)
80
+
81
+ header = next(reader)
82
+
83
+ rows = [row for row in reader]
84
+
85
+
86
+
87
+ with open("hogehogehoge.csv", "w", encoding='utf-8') as f:
88
+
89
+ writer = csv.writer(f, lineterminator = "\r\n")
90
+
91
+ writer.writerow(header)
92
+
93
+ nrows = list(filter(lambda row: row[10] == codelist, rows))
94
+
95
+ writer.writerows(nrows)
96
+
97
+ ```
98
+
99
+
100
+
101
+ 下から二行目の部分のrow[10]とcodelistが一致しているもののみ、nrowsに代入したいと考えています。