MySQL数据库里有一个银行明细表,数据几千万,表头有交易卡号字段,怎么根据交易卡号用Python批量导出数据为csv文件,并且文件名称以交易卡号命名
时间: 2024-03-23 22:36:14 浏览: 24
可以使用Python中的MySQL Connector模块和pandas模块来实现:
```python
import mysql.connector
import pandas as pd
# 连接MySQL数据库
cnx = mysql.connector.connect(user='username', password='password',
host='hostname', database='databasename')
# 获取所有不同的交易卡号
cursor = cnx.cursor()
query = "SELECT DISTINCT CardNumber FROM BankDetails"
cursor.execute(query)
card_numbers = [x[0] for x in cursor.fetchall()]
# 针对每个交易卡号,导出对应的数据为CSV文件
for card_number in card_numbers:
query = "SELECT * FROM BankDetails WHERE CardNumber = '{}'".format(card_number)
df = pd.read_sql(query, cnx)
filename = "{}.csv".format(card_number)
df.to_csv(filename, index=False)
# 关闭数据库连接
cursor.close()
cnx.close()
```
以上代码会将银行明细表中每个不同的交易卡号对应的数据导出为一个以交易卡号命名的CSV文件,并存储在当前工作目录下。需要注意的是,需要安装MySQL Connector和pandas模块,可以使用pip进行安装。