mysql编码转换转换为表_将MySQL表数据转储为csv并转换字符编码的最佳方法是什么?...

我有一张大约有200列的桌子。为了ETL的目的,我需要转储每日事务数据。它是一个MySQL数据库。我在Python中尝试过,既使用pandas数据帧,也使用基本的写入CSV文件方法。我甚至尝试使用shell脚本寻找相同的功能。我看到过这样一个使用sqlplus的oracle数据库。以下是我使用这两种方法的python代码:

使用熊猫:import MySQLdb as mdb

import pandas as pd

host = ""

user = ''

pass_ = ''

db = ''

query = 'SELECT * FROM TABLE1'

conn = mdb.connect(host=host,

user=user, passwd=pass_,

db=db)

df = pd.read_sql(query, con=conn)

df.to_csv('resume_bank.csv', sep=',')

使用基本python文件写入:

^{pr2}$

这个表有大约30万条记录。这两个python代码花费了太多时间。在

另外,这里的编码也有问题。DB resultset有一些拉丁语-1字符,我得到了一些错误,比如:UnicodeEncodeError: 'ascii' codec can't encode character '\x96' in position 1078: ordinal not in range(128).

我需要以Unicode格式保存CSV。你能帮我找到完成这项任务的最佳方法吗。在

基于Unix或基于Python的解决方案对我很有用。此脚本需要每天运行才能转储每日数据。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值