Hello,<br><br>I'm working on a python script to take the sql script, create a sqlite3
database, create the tables, and then populate them using the info from
the csv file.<br>The sticking point seems to be creating the foreign keys between the tables<br><br>I've got a data file with lines like this:<br><br>"John","G.","Smith","1972-11-10","123 Any Place","Somewhere","Missouri","58932"<br>
<br>I have an SQL script set up to create the tables with the appropriate fields.<br><br>What I have so far that works is something like this:<br><br>try:<br> data = open(CSV_FILE, 'rb')<br> reader = csv.reader(data)<br>
for row in reader:<br> cursor.execute('''INSERT INTO people (first_name, mid_init, last_name, birth_date)<br> VALUES (?,?,?,?)''', row[0:4])<br> <br> person = cursor.lastrowid<br>
address = list(row)<br> address.append(person)<br> row = tuple(address)<br> <br> cursor.execute('''INSERT INTO physical_address (street, city, state, zip_code,person)<br> VALUES (?,?,?,?,?)''', row[4:])<br>
finally:<br> data.close()<br><br><br>It works... but from what I've found on the web, I get the distinct impression that converting from a tuple to a list and back is considered poor practice at best and generally to be avoided.<br>
<br>I'm not really sure how else to go about this, though, when I need to split one row from a CSV file across two (or more) tables in a database, and maintain some sort of relation between them.<br><br>Any suggestions?<br>
<br><br>Thanks,<br><br>Monte<br><br>