向数据库中写入csv表

代码如下:
import pandas as pd
from sqlalchemy import create_engine

# 数据库连接设置
mysql_setting = {
    'host': 'localhost',
    'port': 3306,
    'user': '你的用户名',
    'passwd': '你的数据库密码',
    'db': '你的数据库名称',
    'charset': 'utf8'
}

# CSV 文件路径
csv_file = r'要写入的csv文件路径'
# 读取 CSV 文件数据
data = pd.read_csv(csv_file)
# 创建数据库引擎
engine = create_engine("mysql+pymysql://{user}:{passwd}@{host}:
{port}/{db}".format(**mysql_setting))
# 将数据写入 MySQL 数据库表,如果表不存在则创建
data.to_sql('你的表名', con=engine, if_exists='replace', index=False)
print('数据成功写入 MySQL 数据库表!')

提示:1.提前在mysql中创建好数据库,表不做要求

            2.如果有报错有可能是csv文件编码的问题,可以右键csv文件,选择在记事本中编辑,另存为,编码方式选择utf-8,覆盖原文件。然后再去跑一下代码。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
读取CSV文件并将其写入数据库可以遵循以下步骤: 1. 导入必要的Python模块:csv和pandas用于读取CSV文件,以及pymysql以连接MySQL数据库。 ```python import csv import pandas as pd import pymysql ``` 2. 从CSV文件读取数据并将其存储在Pandas DataFrame。 ```python data = pd.read_csv('file.csv') ``` 3. 连接到MySQL数据库并创建游标。 ```python conn = pymysql.connect(host='localhost', user='root', password='password', db='testdb', charset='utf8mb4') cursor = conn.cursor() ``` 4. 遍历Pandas DataFrame并使用游标将数据插入到MySQL数据库。 ```python for index, row in data.iterrows(): cursor.execute("INSERT INTO tablename(column1, column2, column3) VALUES(%s, %s, %s)", (row['column1'], row['column2'], row['column3'])) conn.commit() ``` 5. 关闭游标和数据库连接。 ```python cursor.close() conn.close() ``` 完整代码如下: ```python import csv import pandas as pd import pymysql data = pd.read_csv('file.csv') conn = pymysql.connect(host='localhost', user='root', password='password', db='testdb', charset='utf8mb4') cursor = conn.cursor() for index, row in data.iterrows(): cursor.execute("INSERT INTO tablename(column1, column2, column3) VALUES(%s, %s, %s)", (row['column1'], row['column2'], row['column3'])) conn.commit() cursor.close() conn.close() ``` 其,`file.csv` 是CSV文件的路径,`testdb` 是MySQL数据库的名称,`tablename` 是要将数据插入的的名称,`column1`、`column2` 和 `column3` 是的列名。请根据实际情况进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值