排序编码问题

时间:2016-03-13 20:51:40

标签: python

我的文本文件包含如下所示的数据;

South-America; Raul; Segio; 31; 34234556
Africa; Kofi; Adama; 27; 65432875
North-America; James; Watson; 29; 43552376
Africa; Koko; Stevens; 23; 23453243
Europe; Anthony; Baker; 32; 89878627

1 个答案:

答案 0 :(得分:1)

这种情况发生的原因是因为创建行不属于for循环。因为Europe是表中的最后一项,所以它是唯一执行的项。

您希望在for循环中按以下方式移动执行:

mydb = MySQLdb.connect(host="127.0.0.1",user="root",passwd="12345678*",db="TESTDB1")
cursor = mydb.cursor()

with open('data.txt', 'r') as z:
   for line in z:
      m = {}
      (m['0'], m['1'], m['2'], m['3']) = line.split(";")
      Table = m['0']

      sql = "CREATE TABLE IF NOT EXISTS " +Table+ " (name char(40), lastname char(40), age int (3), code int (10))"
      cursor.execute(sql)
mydb.close()

即。首先创建数据库,然后循环插入所需的每个表,然后关闭它。

另一种方法是缩进代码的下半部分。