将python列表项逐行插入MySQL表
我有下面的web抓取程序用于实践,但我决定进一步将列表项插入到一个MySQL数据库表中,该数据库表具有Long_Text数据类型列,但我一直收到一个错误。我尝试了不同的方法,甚至将列表转换为数据帧(如下所示),但仍然是一样的 以下是列表和数据框的代码段:将python列表项逐行插入MySQL表,python,mysql,web-scraping,Python,Mysql,Web Scraping,我有下面的web抓取程序用于实践,但我决定进一步将列表项插入到一个MySQL数据库表中,该数据库表具有Long_Text数据类型列,但我一直收到一个错误。我尝试了不同的方法,甚至将列表转换为数据帧(如下所示),但仍然是一样的 以下是列表和数据框的代码段: period_tags = seven_day_fc.select(".tombstone-container .period-name") period = [pt.get_text() for pt in period_tags] peri
period_tags = seven_day_fc.select(".tombstone-container .period-name")
period = [pt.get_text() for pt in period_tags]
period_df = pd.DataFrame(np.array(period).reshape(-1,1), columns = list("p"))
这是我的插入声明:
cnx = MySQLConnection(**dbconfig)
cursor = cnx.cursor()
insert_wData = "INSERT INTO weather_data_scrape (period) VALUES (%s)" % (period_df)
cursor.execute(insert_wData)
cnx.commit()
cnx.close()
这是期间列表的打印结果:
['Today', 'Tonight', 'Wednesday', 'WednesdayNight', 'Thursday', 'ThursdayNight', 'Friday', 'FridayNight', 'Saturday']
这是周期df的打印输出:
0 Today
1 Tonight
2 Wednesday
3 WednesdayNight
4 Thursday
5 ThursdayNight
6 Friday
7 FridayNight
8 Saturday
这是错误消息:
mysql.connector.errors.ProgrammingError:1064(42000):您有一个
SQL语法错误;检查与您的产品相对应的手册
在“0”附近使用正确语法的MySQL服务器版本今天 1今晚 2星期三 3星期三晚上 2号线4英尺
非常感谢您的帮助。您可以使用该函数来执行以下操作:
可能您想将句点_df转换为字符串。谢谢您的提示。因此,参数'weatber_data_scrape'需要替换为我的数据框的变量名?否。数据框的变量名在.to_sqlOh之前。对不起。我真是太傻了。我没注意到。这是表名。知道了。我会试试,让你知道。
period_df.to_sql('weather_data_scrape', cnx , if_exists='append')