帮我写一段python代码 用于 读取桌面qaz目录下的以_t0结尾的excel文件内容 写入至mysql(要求1: 将表头"日期" 改为 "transaction_date",将表头"市场" 改为 "trade_type",将表头"交易金额" 改为"amount" ; 要求2: 将 encoding='gbk' 转为 encoding='utf-8' 中文字符集不要乱码)
时间: 2023-07-05 14:19:53 浏览: 101
好的,你可以参考下面的代码实现:
```python
import os
import pymysql
from openpyxl import load_workbook
# 连接MySQL数据库
conn = pymysql.connect(host='localhost', user='root', password='password', database='database', charset='utf8mb4')
cursor = conn.cursor()
# 读取桌面qaz目录下以_t0结尾的excel文件
path = os.path.expanduser('~/Desktop/qaz')
for file in os.listdir(path):
if file.endswith('_t0.xlsx'):
file_path = os.path.join(path, file)
wb = load_workbook(file_path, read_only=True)
# 读取第一个工作表
ws = wb[wb.sheetnames[0]]
# 将表头改为指定名称
headers = ['transaction_date', 'trade_type', 'amount']
for i, cell in enumerate(ws[1]):
cell.value = headers[i]
# 将内容编码转换为utf-8
content_utf8 = b''
for row in ws.iter_rows(min_row=2):
row_utf8 = ','.join([str(cell.value) for cell in row]).encode('utf-8') + b'\n'
content_utf8 += row_utf8
# 将内容写入MySQL数据库
cursor.execute('INSERT INTO mytable (transaction_date, trade_type, amount) VALUES (%s, %s, %s)', row)
conn.commit()
# 关闭数据库连接
cursor.close()
conn.close()
```
其中,需要将代码中的`password`、`database`和`mytable`替换为你的MySQL数据库信息。
阅读全文