回答編集履歴

1

回答を削除します

2024/02/17 08:50

投稿

ccc-
ccc-

スコア342

test CHANGED
@@ -1,92 +1,3 @@
1
- ■1個のCSV調べるサンプルプログラム(長時間掛かります
1
+ 回答削除します
2
-
3
2
  ```PowerShell
4
- $CSV = "C:\Shift_JIS.csv" # 1個のCSV
5
- $stream = New-Object System.IO.StreamReader($CSV,[System.Text.Encoding]::GetEncoding("Shift_JIS")) # 文字化けする時は Shift_JIS または UTF-8 に変更してください
6
- [System.Decimal]$i = 0 #
7
- While ($stream.EndOfStream -ne $True){ #
8
- $i++ #
9
- $Line = @($stream.ReadLine()) #
10
- $Split = $Line -split "," #
11
- $Array = @( $Split[2] , $Split[3] , $Split[5] ) # 3項目を調べる A列=0 B列=1 名前=2 生年月日=3 住所=4 郵便番号=5
12
- $Duplicate = @($Array | Group-Object -noelement | Where-Object {$_.Count -gt 1}) #
13
- foreach ( $d in $Duplicate ){ #
14
- $text = "重複 " + $i + "行目 " + $d.Name + "(" + $d.Count + "個)" #
15
- Write-Host $text #
16
- } #
17
- if ( $i -eq 79228162514264337593543950335 ){ break } # 行番号がSystem.Decimalの上限になったらループを抜ける
18
- } #
19
- $stream.Close() # Close
20
- Read-Host "続行するには、Enter キーを押してください..." # 一時停止
21
-
22
-
23
-
24
-
25
- # ■Shift_JIS.csv
26
- # 01,001,秋元,1901/01/01,北海道,000-0001
27
- # 02,002,生田,1902/01/01,青森,000-0002
28
- # 03,003,井上,1903/01/01,岩手,000-0003
29
- # 04,004,衛藤,1904/01/01,宮城,000-0004
30
- # 05,005,川後,1905/01/01,秋田,000-0005
31
- # 06,006,齋藤,1906/01/01,山形,000-0006
32
- # 07,007,斉藤,1907/01/01,福島,000-0007
33
- # 08,008,桜井,1908/01/01,茨城,000-0008
34
- # 09,009,白石,1909/01/01,栃木,000-0009
35
- # 10,010,高山,高山,群馬,000-0010
36
- # 11,011,中田,1911/01/01,埼玉,000-0011
37
- # 12,012,西野,1912/01/01,千葉,000-0012
38
- # 13,013,能條,1913/01/01,東京,000-0013
39
- # 14,014,樋口,1914/01/01,神奈川,000-0014
40
- # 15,015,星野,1915/01/01,新潟,000-0015
41
- # 16,016,松村,1916/01/01,富山,000-0016
42
- # 17,017,若月,1917/01/01,石川,000-0017
43
- # 18,018,和田,1918/01/01,福井,000-0018
44
- # 19,019,伊藤,1919/01/01,山梨,000-0019
45
- # 20,020,北野,1920/01/01,長野,1920/01/01
46
- # 21,021,新内,1921/01/01,岐阜,000-0021
47
- # 22,022,鈴木,1922/01/01,静岡,000-0022
48
- # 23,023,寺田,1923/01/01,愛知,000-0023
49
- # 24,024,山崎,1924/01/01,三重,000-0024
50
- # 25,025,渡辺,1925/01/01,滋賀,000-0025
51
- # 26,026,岩本,1926/01/01,京都,000-0026
52
- # 27,027,梅澤,1927/01/01,大阪,000-0027
53
- # 28,028,大園,1928/01/01,兵庫,000-0028
54
- # 29,029,久保,1929/01/01,奈良,000-0029
55
- # 30,030,000-0030,1930/01/01,和歌山,000-0030
56
- # 31,031,阪口,1931/01/01,鳥取,000-0031
57
- # 32,032,佐藤,1932/01/01,島根,000-0032
58
- # 33,033,中村,1933/01/01,岡山,000-0033
59
- # 34,034,向井,1934/01/01,広島,000-0034
60
- # 35,035,山下,1935/01/01,山口,000-0035
61
- # 36,036,吉田,1936/01/01,徳島,000-0036
62
- # 37,037,与田,1937/01/01,香川,000-0037
63
- # 38,038,吉本,1938/01/01,愛媛,000-0038
64
- # 39,039,岩瀬,1939/01/01,高知,000-0039
65
- # 40,040,安藤,安藤,福岡,安藤
66
- # 41,041,宮澤,1941/01/01,佐賀,000-0041
67
- # 42,042,市來,1942/01/01,長崎,000-0042
68
- # 43,043,大和,1943/01/01,熊本,000-0043
69
- # 44,044,畠中,1944/01/01,大分,000-0044
70
- # 45,045,松井,1945/01/01,宮崎,000-0045
71
- # 46,046,永島,1946/01/01,鹿児島,000-0046
72
- # 47,047,深川,1947/01/01,沖縄,000-0047
73
-
74
3
  ```
75
-
76
- ■小さいサイズのCSVファイルでお試しください。どの程度のお時間が必要かご確認ください。
77
- ■3項目を調べています( 名前 と 生年月日 と 郵便番号 )
78
- ■CSVの調査範囲は最大79228162514264337593543950335行まで対応しています
79
- ■文字化けする時は Shift_JIS または UTF-8 に変更してください
80
- ■1行ずつ読み込んで調べていますが、エラーが発生する場合は使用しないでください
81
- ■長時間掛かります。ご注意ください。
82
-
83
- 私の環境ではテストが出来ないので、
84
- 動作するか分かりません。ご了承ください。
85
-
86
- 実行結果
87
-
88
- 重複 10行目 高山(2個)
89
- 重複 20行目 1920/01/01(2個)
90
- 重複 30行目 000-0030(2個)
91
- 重複 40行目 安藤(3個)
92
- 続行するには、Enter キーを押してください...: