回答編集履歴
1
回答を削除します
test
CHANGED
@@ -1,92 +1,3 @@
|
|
1
|
-
|
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 キーを押してください...:
|