python pandas写入数据后保存_python读取MySQL数据使用pandas写入到csv,并保存列名

该博客介绍了如何通过Python的pymysql模块连接到MySQL数据库,执行SQL查询,然后利用pandas将查询结果写入CSV文件,同时保留列名。示例代码展示了详细的步骤和关键函数调用。
摘要由CSDN通过智能技术生成

实现的功能:通过pymysql连接MySQL数据库,查询所需数据,然后使用pandas写入到csv文件,并且写入包含数据列名。

import sys

import pandas as pd

import pymysql

import time

csv_path=sys.argv[1]

host=sys.argv[2]

user=sys.argv[3]

password=sys.argv[4]

db=sys.argv[5]

# host='59.202.45.105'

# user='lpz_test'

# password='lpz_test'

# db='test'

def getrel(sql):

try:

con = pymysql.connect(host, user, password, db)

cur = con.cursor() # 获取操作游标,也就是开始操作

cur.execute(sql) # 输入要查询的SQL

col_result = cur.description # 获取查询结果的字段描述

rel = cur.fetchall()

# 获取字段名,以列表形式保存

columns = []

for i in range(0, len(col_result)):

columns.append(col_result[i][0])

# print(columns)

cur.close()

con.close()

return rel,columns

except Exception as e:

print(e)

print("!!!!!!!!!!!!!!请检查数据库连接信息!!!!!!!!!!!!!!")

exit(-1)

def getcsv(rel,columns):

data1 = list(map(list, rel))

df = pd.DataFrame(data=data1,columns=columns) # mysql查询的结果为元组,需要转换为列表

df.to_csv(csv_path,index=None)

if __name__ == '__main__':

sql = 'select * from table;'

rel,columns = getrel(sql)

getcsv(rel,columns)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值