# -*- coding:utf-8 -*-
# @time : 9:25
# @Author:aaaa
import psycopg2
import pandas as pd
def getData():
# 链接数据库
conn = psycopg2.connect(database='postgres',user='postgres',password='postgres',host='localhost',port='5432')
curs = conn.cursor()
# 编写SQL
sql = 'select distinct url from table '
# 数据库中执行SQL命令
curs.execute(sql)
# 获取数据
data = curs.fetchall()
# 关闭指针和数据库
curs.close()
conn.close()
return data
df = pd.DataFrame(getData())
#pandas在写入excel是会对链接形式的数据(http或者https类型)有一个检测和长度的限制,一般是255,若超过则会报错,因而需要使用参数 options={'strings_to_urls': False},写入时就不会默认把字符串里含有http或者https的str认为是链接,也就不会限制长度。
writer = pd.ExcelWriter(r'path', engine='xlsxwriter', options={'strings_to_urls': False})
df.to_excel(writer)
writer.save()