def saveToSql():
poroducts = pd.read_csv('./data.csv')
df = pd.DataFrame(products)
conn = create_engine('mysql+pymysql://root:123456@localhost:3306/bigdatas?charset=utf8')
df.to_sql('products',con=conn,index=False,if_exists='append')
print('导入数据库成功‘)
Python执行完后输出导入数据成功,csv文件中的数据也没了,但是Navicat打开后数据库中没有数据,数据库配置都是正确的
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
关注引自免费微信小程序:皆我百晓生
要解决这个问题,首先确保在
create_engine()函数中设置正确的MySQL连接信息,包括用户名、密码、主机名和数据库名称。接下来,在保存数据到SQL时,检查
df是否已正确写入数据库。如果存在错误,可能是因为数据写入过程中遇到了问题。另外,如果你在尝试从数据库读取数据时遇到问题,你需要确保
create_engine()函数已经设置了正确的连接参数,并且有足够的权限访问数据库。此外,确保
saveToSql()函数中包含对异常处理,以便在数据写入失败时可以捕获并处理错误。以下是修改后的代码示例:
import pandas as pd # 创建一个DataFrame df = pd.DataFrame({'column1': [1], 'column2': ['value']}) try: # 使用创建的引擎将DataFrame写入数据库 conn = create_engine('mysql+pymysql://username:password@host/database?charset=utf8') df.to_sql(name='table_name', con=conn, if_exists='replace', index=False) except Exception as e: print(f"发生错误:{e}")这个例子展示了如何使用
pandas库加载数据并将其写入数据库。然后,它通过尝试创建一个名为table_name的新表并替换现有表,从而覆盖原有的数据。如果在写入过程中出现问题,将会打印出错误消息。try: # 使用创建的引擎将DataFrame写入数据库 conn = create_engine('mysql+pymysql://username:password@host/database?charset=utf8') df.to_sql(name='table_name', con=conn, if_exists='replace', index=False) except Exception as e: print(f"发生错误:{e}")在这个示例中,我们尝试使用
to_sql方法将数据写入数据库。如果在写入过程中出现任何错误,我们将捕获这些错误并将它们打印出来。这样可以帮助我们更好地了解问题的原因,并采取适当的措施来解决它。解决 无用评论 打赏 举报 编辑记录