質問編集履歴

1

code追記

2020/10/27 07:20

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -21,3 +21,273 @@
21
21
 
22
22
 
23
23
  素人質問で恐縮ですが、ご回答をお願いいたします。
24
+
25
+
26
+
27
+ 追記
28
+
29
+ code
30
+
31
+ ```C#
32
+
33
+ using 省略
34
+
35
+
36
+
37
+ namespace 読み込み
38
+
39
+ {
40
+
41
+ class Program
42
+
43
+ {
44
+
45
+ static void Main(string[] args)
46
+
47
+ {
48
+
49
+
50
+
51
+ var inputFile = @"C:\CSVファイル.txt";
52
+
53
+ List<string> list = null;
54
+
55
+ Dictionary<string, int> summry = null;
56
+
57
+
58
+
59
+ int DOG9 = 0;
60
+
61
+ int CAT9 = 0;
62
+
63
+ int Total9 = 0;
64
+
65
+ int DOG8 = 0;
66
+
67
+ int CAT8 = 0;
68
+
69
+ int Total8 = 0;
70
+
71
+ int DOG7 = 0;
72
+
73
+ int CAT7 = 0;
74
+
75
+ int Total7 = 0;
76
+
77
+
78
+
79
+ foreach (var line in File.ReadAllLines(inputFile))
80
+
81
+ {
82
+
83
+ //Dictionaryに入れる
84
+
85
+ if (summry == null)
86
+
87
+ {
88
+
89
+ summry = new Dictionary<string, int>();
90
+
91
+ continue;
92
+
93
+ }
94
+
95
+
96
+
97
+ //リストにも入れる
98
+
99
+ if (list == null)
100
+
101
+ {
102
+
103
+ list = new List<string>();
104
+
105
+ continue;
106
+
107
+ }
108
+
109
+
110
+
111
+
112
+
113
+ var clos = line.Split('\t');
114
+
115
+ string xxx= clos[0];
116
+
117
+ string xxxx = clos[1];
118
+
119
+ string xxx = clos[2];
120
+
121
+ string time = clos[3];
122
+
123
+ string xxx = clos[4];
124
+
125
+ string type = clos[5];
126
+
127
+ string name = clos[6]; ★このカラムの重複数をカウントしたい
128
+
129
+ string xx = $"{xxx} {xxxx}";
130
+
131
+
132
+
133
+ string MM = Time.Substring(6,1);
134
+
135
+ //Timeの文字列から何月分のデータかを判断する
136
+
137
+ //月ごとに集計が必要
138
+
139
+
140
+
141
+ switch (MM)
142
+
143
+ {
144
+
145
+ //9月分の集計
146
+
147
+ case "9":
148
+
149
+ if (0 <= xxx.IndexOf("DOG"))
150
+
151
+ {
152
+
153
+ DOG9++;
154
+
155
+ //アプリのバージョンを集計する
156
+
157
+ //バージョンが既出でない場合は0を入れて
158
+
159
+ if (summry.ContainsKey(name) == false)
160
+
161
+ {
162
+
163
+ summry.Add(name, 0);
164
+
165
+ }
166
+
167
+ //summry[0]にnameが入っている状態
168
+
169
+ //summry[0]に対して各変数を自動で割り当ててカウントしてほしい
170
+
171
+
172
+
173
+ //なんらかのカウント処理
174
+
175
+
176
+
177
+ }
178
+
179
+
180
+
181
+ else if (0 <= Type.IndexOf("iOS"))
182
+
183
+ {
184
+
185
+ CAT9++;
186
+
187
+ }
188
+
189
+ Total9++;
190
+
191
+ break;
192
+
193
+
194
+
195
+ //8月分の集計
196
+
197
+ case "8":
198
+
199
+ if (0 <= Type.IndexOf("DOG"))
200
+
201
+ {
202
+
203
+ DOG8++;
204
+
205
+ }
206
+
207
+ else if (0 <= Type.IndexOf("iOS"))
208
+
209
+ {
210
+
211
+ CAT8++;
212
+
213
+ }
214
+
215
+ Total8++;
216
+
217
+ break;
218
+
219
+
220
+
221
+ //7月分の集計
222
+
223
+ case "7":
224
+
225
+ if (0 <= Type.IndexOf("DOG"))
226
+
227
+ {
228
+
229
+ DOG7++;
230
+
231
+ }
232
+
233
+ else if (0 <= Type.IndexOf("iOS"))
234
+
235
+ {
236
+
237
+ CAT7++;
238
+
239
+ }
240
+
241
+ Total7++;
242
+
243
+ break;
244
+
245
+ }
246
+
247
+ }
248
+
249
+
250
+
251
+ //月ごとに総数は出力できるようになったがこれはSwitchで分岐したためで
252
+
253
+ //nameは大量の種類があるので自動で初見と既出を判断してカウントする文を書く必要がある
254
+
255
+ System.Console.WriteLine("9月");
256
+
257
+ System.Console.WriteLine("CAT=" + CAT9);
258
+
259
+ System.Console.WriteLine("DOG=" + DOG9);
260
+
261
+ System.Console.WriteLine("Total=" + Total9 + Environment.NewLine);
262
+
263
+
264
+
265
+ System.Console.WriteLine("8月");
266
+
267
+ System.Console.WriteLine("CAT=" + CAT8);
268
+
269
+ System.Console.WriteLine("DOG=" + DOG8);
270
+
271
+ System.Console.WriteLine("Total=" + Total8 + Environment.NewLine);
272
+
273
+
274
+
275
+ System.Console.WriteLine("7月");
276
+
277
+ System.Console.WriteLine("CAT=" + CAT7);
278
+
279
+ System.Console.WriteLine("DOG=" + DOG7);
280
+
281
+ System.Console.WriteLine("Total=" + Total7);
282
+
283
+
284
+
285
+ summry.ToString();
286
+
287
+ }
288
+
289
+ }
290
+
291
+ }
292
+
293
+ ```