質問編集履歴

1

皆さまのご回答を踏まえた修正を行いました。

2020/06/12 07:12

投稿

Shu0101
Shu0101

スコア14

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,9 @@
8
8
 
9
9
  読み込むCSVは毎日更新されるので、Primary Keyによる制限をかけない方針です。
10
10
 
11
- (制限をかけると、CSVファイルそのものが読み込まれないという理解です。)
11
+ ~~(制限をかけると、CSVファイルそのものが読み込まれないという理解です。)~~
12
+
13
+ ←理解が間違っておりました。
12
14
 
13
15
  初めてSQLを使ったため、的外れな質問であれば恐縮です。
14
16
 
@@ -30,7 +32,7 @@
30
32
 
31
33
  DISTINCT `column_name1`,
32
34
 
33
- DISTINCT `column_name2`
35
+ ~~DISTINCT~~ `column_name2`
34
36
 
35
37
  FROM
36
38
 
@@ -41,3 +43,51 @@
41
43
  conn.execute(sql)
42
44
 
43
45
  ```
46
+
47
+
48
+
49
+ ### 【追記】
50
+
51
+ ・CSVはForループで順次読み込まれます
52
+
53
+ ・重複を許してSQLに格納したのち、重複したものを消す手法は試しましたが、Lockされてしまい断念しました。
54
+
55
+
56
+
57
+ ### 【追記】該当のソースコード
58
+
59
+
60
+
61
+ ```Python3
62
+
63
+ import sqlite3
64
+
65
+ db_file_name = database_name
66
+
67
+ conn = sqlite3.connect(db_file_name)
68
+
69
+ sql1 = """
70
+
71
+ delete from table_name
72
+
73
+ where rowid not in
74
+
75
+ (
76
+
77
+ select min(rowid)
78
+
79
+ from prices
80
+
81
+ group by
82
+
83
+ column_name1
84
+
85
+ , column_name2
86
+
87
+ )
88
+
89
+ """
90
+
91
+ conn.execute(sql1)
92
+
93
+ ```