下面详细讲解Python如何操作csv文件实现MySQL数据库的导入导出。
1. csv文件的导出(从MySQL数据库到csv文件)
步骤1:导出数据到csv文件
使用Python的标准库中的csv
和pymysql
模块,可以快速地从MySQL数据库中导出数据到csv文件。下面是示例代码:
import csv
import pymysql
# 连接MySQL数据库
conn = pymysql.connect(
host='localhost',
user='root',
password='password',
db='db_name',
charset='utf8'
)
# 获取游标
cursor = conn.cursor()
# 执行SQL语句
sql = 'SELECT * FROM table_name'
cursor.execute(sql)
# 获取查询结果
results = cursor.fetchall()
# 定义csv文件头
headers = ['column1', 'column2', 'column3']
# 写入csv文件
with open('output.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(headers)
for row in results:
writer.writerow(row)
# 关闭游标和数据库连接
cursor.close()
conn.close()
上述代码中,我们首先连接 MySQL 数据库,并获取到一个游标对象 cursor。然后我们可以使用 cursor 执行需要导出数据的 SQL 语句,并将查询结果获取到 results 中。接下来我们定义 csv 文件头 headers,再将数据逐行写入 output.csv 文件中,最后关闭游标和数据库连接。
步骤2:查看csv文件内容
使用Python的标准库中的csv
模块,可以方便地查看csv文件中的内容。下面是示例代码:
import csv
# 打开csv文件
with open('output.csv', 'r', newline='') as csvfile:
reader = csv.reader(csvfile)
# 输出csv文件内容
for row in reader:
print(row)
上述代码中,我们首先打开 output.csv 文件,然后使用 csv.reader() 方法读取文件中的内容,并逐行输出。
2. csv文件的导入(从csv文件到MySQL数据库)
步骤1:读取csv文件内容
使用Python的标准库中的csv
模块,可以快速地读取csv文件中的内容。下面是示例代码:
import csv
# 打开csv文件
with open('input.csv', 'r', newline='') as csvfile:
reader = csv.reader(csvfile)
# 获取csv文件内容
rows = []
for row in reader:
rows.append(row)
# 去掉csv文件头
headers = rows.pop(0)
上述代码中,我们首先打开 input.csv 文件,然后使用 csv.reader() 方法读取文件中的内容,并将每一行数据存储到一个列表中。由于第一行是文件头,我们可以使用 pop() 方法将其从列表中去掉,并将其存储到 headers 变量中。
步骤2:将csv文件内容导入到MySQL数据库中
使用Python的标准库中的pymysql
模块,可以方便地将数据插入到MySQL数据库中。下面是示例代码:
import pymysql
# 连接MySQL数据库
conn = pymysql.connect(
host='localhost',
user='root',
password='password',
db='db_name',
charset='utf8'
)
# 获取游标
cursor = conn.cursor()
# 定义插入语句模板
sql = 'INSERT INTO table_name (column1, column2, column3) VALUES (%s, %s, %s)'
# 插入数据
for row in rows:
cursor.execute(sql, (row[0], row[1], row[2]))
# 提交事务
conn.commit()
# 关闭游标和数据库连接
cursor.close()
conn.close()
上述代码中,我们首先连接 MySQL 数据库,并获取到一个游标对象 cursor。然后我们可以使用 for 循环将 rows 中的每一行数据逐条插入到 MySQL 数据库中。最后记得提交事务,并关闭游标和数据库连接。
结语
通过以上步骤,我们就可以轻松地从 MySQL 数据库中导出数据到 csv 文件,也可以将 csv 文件中的数据导入到 MySQL 数据库中。这种方式使得数据的导入导出变得方便、快捷。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python之csv文件从MySQL数据库导入导出的方法 - Python技术站