试图将大量数据输入mysqldb

时间:2015-05-08 13:28:03

标签: python mysql database

#!/usr/bin/env python

from __future__ import print_function

import pymysql.cursors

Journal=open('J_15April.txt')

jrn=Journal.read()

Zeile=jrn.split('14.04.2015')

conn = pymysql.connect(host='localhost', port=3306, user='root',passwd='',db='daten', cursorclass=pymysql.cursors.DictCursor)


ean = int(row[0])
smr = char(row[1])
uhrzeit = char(row[2])


for line in Zeile:
cur = conn.cursor()
    if 'BOTTLE_ID' in line

        line2 = line.split(';')

        line3 = line2[0].strip(' BOTTLE_UNIQUE: BOTTLE_ID: 0')

        uhrzeit = (line3[:-4])

        if 'EAN' not in line:
            ean = 0

        else:
           ean = line2[7].strip('EAN: ')


        if ' SMR: 1;' in line:
            smr = ('gelesen')

        else:
            smr = ('nicht gelesen')

        cur.execute("INSERT INTO lga (ean, smr, uhrzeit) VALUES  ('%s','%s','%s')%(ean, smr, uhrzeit)")
        cur.fetchall()




cur.close()
conn.commit()
conn.close()

大家好,

我目前正在尝试将大量数据放入mysqldb。我写了两个独立的程序,一个用于过滤非常长的.txt中的重要内容,另一个用于将它们插入数据库中。

当我尝试将这两个程序组合起来自动读取和插入数据时,实际出现了问题。我认为所显示的程序的结构可能有点混乱,这是它不工作的主要原因。我是python的新手,我很难让其他两个程序工作,所以请帮助我。

如果您对这两个单一功能感兴趣,我也可以发布它们。

问候

TRBO

回溯

因此,当我运行代码时,这将是Traceback:

追踪(最近一次呼叫最后一次):

文件“C:\ Users \ tristan.bonn \ Desktop \ Python \ Verbindung mit mysql \ Tabelle mitDatenfüllen.2.py”,第17行,in row = cur.fetchall()

文件“C:\ Users \ tristan.bonn \ AppData \ Local \ Programs \ Python \ Python35 \ lib \ site-packages \ pymysql \ cursors.py”,第256行,在fetchall self._check_executed()

文件“C:\ Users \ tristan.bonn \ AppData \ Local \ Programs \ Python \ Python35 \ lib \ site-packages \ pymysql \ cursors.py”,第70行,在_check_executed中引发err.ProgrammingError(“执行( )首先“)pymysql.err.ProgrammingError:先执行()

1 个答案:

答案 0 :(得分:1)

也许为了让一切都更加清晰,我现在正试图将两个代码放在一起

from __future__ import print_function

import pymysql.cursors


conn = pymysql.connect(host='localhost', port=3306, user='root',passwd='',db='daten', cursorclass=pymysql.cursors.DictCursor)

cur = conn.cursor()

cur.execute("INSERT INTO lga (ean, smr, uhrzeit) VALUES ('85479630','gelesen','17:40:34')")
row = cur.fetchall()



cur.close()
conn.commit()
conn.close()

这是第一个连接数据库的代码。

Journal=open('J_15April.txt')

jrn=Journal.read()

Zeile=jrn.split('14.04.2015')

x = len (Zeile)

for line in Zeile:
    if 'BOTTLE_ID' in line:

        line2 = line.split(';')

        line3 = line2[0].strip(' BOTTLE_UNIQUE: BOTTLE_ID: 0')

        print (line3[:-4])

        if 'EAN' not in line:
            print ('keine EAN Vorhanden/Fehler')

        else:
            print(line2[7].strip('EAN: '))

        if ' SMR: 1;' in line:
            print ('gelesen')



        else:
            print ('nicht gelesen')

这个从我的.txt文件中读取重要数据

问候

trbo