对于当前的赋值,我必须使用python将2个.txt文件导入MySQLdb。我遇到了很大的麻烦。我尝试了各种方法,但根本无法做到。
过去几天我搜索了这个网站和其他许多网站,我根本无法让这个工作。每当我试图让另一个人的解决方案适应我自己的代码时,它就会失败 - 所以我想我应该直接为我自己的代码寻求帮助。
这是我到目前为止所做的:
import MySQLdb
# connect to database
mydb = MySQLdb.connect("localhost","root","0dy5seuS","cars_db")
# define the function
def data_entry(cars_for_sale):
# cursor creation
cursor = mydb.cursor()
#load the file 'cars_for_sale.txt' into the database under the table 'cars_for_sale'
sql = """LOAD DATA LOCAL INFILE 'cars_for_sale.TXT'
INTO TABLE cars_for_sale
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\r\n'"""
#execute the sql function above
cursor.execute(sql)
#commit to the database
mydb.commit()
#call data_entry(cars_for_sale) function
data_entry(cars_for_sale)
mydb.close()
我几乎无法绕过它,任何帮助都会受到赞赏。 我现在从测试功能获得以下反馈:
尝试: data_entry(“cars_for_sale”)期望: 插入到cars_for_sale的行数是7049 的 * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * *** 文件“主要”,第4行,在主失败示例中: data_entry(“cars_for_sale”)引发异常:
追踪(最近一次呼叫最后一次):
文件“C:\ Python27 \ lib \ doctest.py”,第1289行,在__run中 compileflags,1)在test.globs
中文件“”,第1行,in data_entry( “cars_for_sale”)
data_entry中的文件“E:/ Uni / 104 / Portfolio 2 / MediumTask_DataStatistics / question / TEST2_data_statistics.py”,第270行 data_entry(cars_for_sale)*它重复这最后一部分几百/千次“
以下几行是在上面的重复错误之后。
文件“C:\ Python27 \ lib \ site-packages \ MySQLdb \ connections.py”,行 243,在游标返回(cursorclass或self.cursorclass)(self)
文件“C:\ Python27 \ lib \ site-packages \ MySQLdb \ cursors.py”,第51行,中 来自weakref导入代理的 init RuntimeError:调用Python对象时超出了最大递归深度
我知道这是一个无限递归,虽然我不知道如何阻止它。 感谢
答案 0 :(得分:1)
以下代码重现您的错误"RuntimeError: maximum recursion depth exceeded while calling a Python object"
:
def data_entry(cars_for_sale):
data_entry(cars_for_sale)
这里不需要递归(无论如何都使用不正确)。
我知道这是一次无限递归,虽然我不知道如何阻止它。
只需删除data_entry
功能中的data_entry
来电。