m0_67013689 2024-06-25 00:09 采纳率: 0%
浏览 13

Python执行完后输出导入数据成功,csv文件中的数据也没了,但是Navicat打开后数据库中没有数据,数据库配置都是正确的

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('导入数据库成功‘)
  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-25 00:09
    关注

    引自免费微信小程序:皆我百晓生

    要解决这个问题,首先确保在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方法将数据写入数据库。如果在写入过程中出现任何错误,我们将捕获这些错误并将它们打印出来。这样可以帮助我们更好地了解问题的原因,并采取适当的措施来解决它。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月25日

悬赏问题

  • ¥15 35114 SVAC视频验签的问题
  • ¥15 impedancepy
  • ¥15 在虚拟机环境下完成以下,要求截图!
  • ¥15 求往届大挑得奖作品(ppt…)
  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见