1、使用SQLite3库:
连接到SQLite数据库。
(图片来源网络,侵删)
执行SQL查询语句获取数据。
将结果写入CSV文件。
import sqlite3 连接到SQLite数据库 conn = sqlite3.connect('example.db') cursor = conn.cursor() 执行SQL查询语句 cursor.execute("SELECT * FROM my_table") rows = cursor.fetchall() 将结果写入CSV文件 with open('output.csv', 'w') as file: for row in rows: file.write(','.join([str(item) for item in row]) + ' ') 关闭连接 conn.close()
2、使用Pandas库:
连接到数据库并读取数据到DataFrame。
将DataFrame导出为CSV或Excel文件。
(图片来源网络,侵删)
import pandas as pd import sqlite3 连接到SQLite数据库 conn = sqlite3.connect('example.db') 使用Pandas读取SQL查询结果 df = pd.read_sql_query("SELECT * FROM my_table", conn) 导出结果到CSV文件 df.to_csv('output.csv', index=False) 关闭连接 conn.close()
3、使用SQLAlchemy:
创建数据库引擎。
执行SQL查询并将结果转换为DataFrame。
导出DataFrame为CSV文件。
from sqlalchemy import create_engine import pandas as pd 创建数据库引擎 engine = create_engine('sqlite:///example.db') 使用Pandas读取SQL查询结果 df = pd.read_sql_query("SELECT * FROM my_table", engine) 导出结果到CSV文件 df.to_csv('output.csv', index=False)
4、使用PyMySQL连接MySQL数据库:
(图片来源网络,侵删)
连接到MySQL数据库。
执行SQL查询并将结果转换为DataFrame。
导出DataFrame为CSV文件。
import pandas as pd import pymysql 连接到MySQL数据库 conn = pymysql.connect( host='localhost', user='username', password='password', db='database_name' ) 使用Pandas读取SQL查询结果 df = pd.read_sql_query("SELECT * FROM my_table", conn) 导出结果到CSV文件 df.to_csv('output.csv', index=False) 关闭连接 conn.close()
5、使用CSV模块:
连接到数据库并执行查询。
使用csv.writer将结果写入CSV文件。
import csv import mysql.connector 连接到MySQL数据库 conn = mysql.connector.connect( host='localhost', user='username', password='password', db='database_name' ) cursor = conn.cursor() 执行SQL查询语句 cursor.execute("SELECT * FROM your_table_name") 使用csv.writer将结果写入CSV文件 with open('output.csv', 'w', newline='') as f: writer = csv.writer(f) writer.writerow([i[0] for i in cursor.description]) # 写入列名 writer.writerows(cursor.fetchall()) # 写入数据行 关闭连接 cursor.close() conn.close()
6、处理大数据量导出:
分批次读取和导出数据,以减少内存压力。
import pandas as pd import sqlite3 连接到SQLite数据库 conn = sqlite3.connect('example.db') chunk_size = 1000 # 每次读取1000行数据 分批次读取和导出数据 chunks = pd.read_sql_query("SELECT * FROM my_table", conn, chunksize=chunk_size) for i, chunk in enumerate(chunks): chunk.to_csv(f'output_{i}.csv', index=False) 关闭连接 conn.close()
以上就是关于“python 数据库导出_导出数据库”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!
本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/69011.html