-1
なぜ私の機能をテストできないのか分かりません。私の所望の出力は、その後、ルームIDですが、同じIDのための複数の部屋がある場合、これは、ファイル内のデータの一部であるデータベースに複数の行を作成する
ID Room
1 SW128 SW 143
into
ID Room
1 SW128
1 SW143
のように、新しい行にそれを置きます。
1,SW128,SW143
2,SW309
3,AA205
4,AA112,SY110
5,AC223
6,AA112,AA206
でも、私の機能をテストすることはできません。誰でもこの問題を解決するのを助けてくれますか?
def create_location_table(db, loc_file):
'''Location table has format ID, Room'''
con = sqlite3.connect(db)
cur = con. cursor()
cur.execute('''DROP TABLE IF EXISTS Locations''')
# create the table
cur.execute('''CREATE TABLE Locations (id TEXT, Room TEXT)''')
# Add the rows
loc_file = open('locations.csv', 'r')
loc_file.readline()
for line in loc_file:
d = {}
data = line.split(',')
ID = data[0]
Room = data[1:]
for (ID, Room) in d.items():
if Room not in d:
d[ID] = [Room]
for i in Rooms:
cur.execute(''' INSERT INTO Locations VALUES(?, ?)''', (ID,
Room))
# commit and close cursor and connection
con.commit()
cur.close()
con.close()
コメントが拡張議論のためではありません
loc_file
パラメータを使用します。この会話は[チャットに移動]されています(http://chat.stackoverflow.com/rooms/160137/discussion-on-answer-by-masterfloda-creating-multiple-rows-in-databases)。 – Andy