#!/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:先执行()
答案 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