精华内容
下载资源
问答
  • Python连接Hive

    2017-05-20 18:45:27
    1.安装thrift_sasl (1)报错 UnicodeDecodeError: ... decode byte 0xe2 in position 73: ordinal not i 解决办法: vim ~/.bashrc(打开用户配置文件) 在文件最后一行添加 export LC_ALL=C 保存

    1.安装thrift_sasl
    (1)报错
    UnicodeDecodeError:'ascii' codec can't decode byte 0xe2in position73: ordinalnot i

    解决办法:

    vim ~/.bashrc(打开用户配置文件)


    在文件最后一行添加

    export LC_ALL=C

    保存


    source ~/.bashrc 使改动生效

    (2)报错

    sslerror: the read operaion timee out

    解决方法:pip --default-timeout=100 install thrift_sasl

    (3)报错

    sasl/saslwrapper.h:22:23: error: sasl/sasl.h: No such fileordirectory

    解决方法:

    centenOs:yum install gcc-c++ python-devel.x86_64 cyrus-sasl-devel.x86_64

    ubuntu/deepin: sudo apt-get install libsasl2-devubuntu/deepin:

    2. 安装sasl: pip install sasl

    3. 安装impyla: pip install impyla

    (1)报错

    2. 编写代码测试

    from impala.dbapi import connect
    
    conn = connect(host='127.0.0.1', port=10000, database='default', auth_mechanism='PLAIN')
    cur = conn.cursor()
    cur.execute('select '+type +', income, count(*) from adults GROUP by ' + type+',income')
    results = cur.fetchall()

    
    

    展开全文
  • 想获得1000条名单中成交客户信息,但对于远程服务器又仅有只读权限,不好直接使用数据库表连接。又想把数据库目标表通过pandas读出,写入到文件中。发现近千万的数据量本机内存吃不消,写进了D盘的文件,却无奈内存...

    背景描述

    想获得1000条名单中成交客户信息,但对于远程服务器又仅有只读权限,不好直接使用数据库表连接。又想把数据库目标表通过pandas读出,写入到文件中。发现近千万的数据量本机内存吃不消,写进了D盘的文件,却无奈内存太小,读不出来。

    解决方法

    1)顺序读入1000条名单
    2)循环构造1000条检索语句,查询数据库
    3)将每一次检索到的结果写入csv文件

    import os
    os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
    
    import cx_Oracle
    
    conn = cx_Oracle.connect('username','password','ip/sername')
    
    cursor = conn.cursor()
    
    flow = open('./defeat.csv','w',encoding='utf-8')
    csv_writer = csv.writer(flow,delimiter=',')
    
    s = """select * from table_name where rownum <=10"""
    cursor.execute(s)
    
    header = []
    # 写入表头
    for i in range(len(cursor.description)):
        header.append(cursor.description[i][0])
    
    csv_writer.writerow(header)
    
    for i in range(0, len(mobile_nos)):
        mobile_no = str(mobile_nos['手机号'][i])
        sql = """select * from table_name where (customer_status = '51080015' or customer_status = '51080020') and mobile_no =""" +"'"+mobile_no+"'"
        cursor.execute(sql)
        
        record = cursor.fetchone()
        print(i)
        while record is not None:
            try:
                data = []
                for i in range(len(record)):
                    data.append(record[i])
                csv_writer.writerow(data)
                record = cursor.fetchone()
            except:
                pass
            continue
    flow.close()
    print('done')
    

    注意点

    1)在从游标中执行fetchone()操作时,有可能会报编码错误

    这里写图片描述

    解决办法是对编码进行配置:

    import os
    os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
    

    如果还是有数据编码问题,只能写个exception,抛出异常或者直接跳过去了。

     try:
         data = []
         for i in range(len(record)):
             data.append(record[i])
         csv_writer.writerow(data)
         record = cursor.fetchone()
     except:
         pass
     continue
    

    2)表名较多可以直接通过cursor.description获得表头,这是个元组,可通过下标进行访问
    3)每一次调用cursor.fetchone()操作,游标都会向前移动一个,所以不能采用while cursor.fetchone() is not None进行校验

    👏👏👏再看看我们以前的文章😃😃😃
    🌺 Excel中数据分析工具库-相关系数篇
    🌺 干货,手把手教会你做相关性分析
    🌺 5年数据分析路,小结。
    🌺 用户细分及画像分析
    🌺 K-近邻算法及实践

    欢迎关注,微信公众号“数据分析师之家
    扫描二维码 关注我们
    💁提供职业规划、简历指导、面试辅导服务哦
    QQ交流群:254674155
    在这里插入图片描述

    展开全文
  • Python连接SMTP服务器报错:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xce in position 0… 错误描述: 连接SMTP服务器一直报错,折腾半天终于好了。。。 报错代码是下面 smtp = smtplib.SMTP_...

    Python连接SMTP服务器报错:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xce in position 0…

    错误描述:

    连接SMTP服务器一直报错,折腾半天终于好了。。。
    报错代码是下面 smtp = smtplib.SMTP_SSL(“smtp.qq.com”, 465) 这一行

    import smtplib
    
    smtp = smtplib.SMTP_SSL("smtp.qq.com", 465)
    

    运行错误截图:

    在这里插入图片描述
    ‘utf-8’编码错误,百度到一堆解决办法,尝试之后还是会出现错误,根据报错信息
    在这里插入图片描述

    运行debug调试找到 socket.py 这个文件的第676行
    在这里插入图片描述

    错误原因:

    上图中’name’ 这个参数编码错误,这个name参数好像是来自于自己计算机的名称,我的电脑名称是自己名字,写的中文

    解决方法:

    方法一:建议一步到位直接把自己电脑名字改成英文字母,很多涉及到网络的代码都会报编码错误
    方法二:把这个参数改成ascii编码 name后面加上 .encode(‘ascii’,‘ignore’) (gbk编码试过,好像不管用) ,也就是改成下面的样子

    在这里插入图片描述

    展开全文
  • Python连接informix编码报错的处理

    千次阅读 2018-09-28 16:54:13
    informix数据库的编码为en_US.819,在用python进行select时会有报错,所以在odbc创建数据库连接之后要进行编码设置! Python连接informix的编码报错 Error: ('HY000', '[HY000] [Informix][Informix ODBC Driver]...

    informix数据库的编码为en_US.819,在用python进行select时会有报错,所以在odbc创建数据库连接之后要进行编码设置!

    Python连接informix的编码报错

    Error: ('HY000', '[HY000] [Informix][Informix ODBC Driver]Invalid byte in codeset conversion input. (21000) (SQLExecDirectW)')
     

    In [1]: import sys,pyodbc
    
    In [2]: conn = pyodbc.connect('DSN=piccxt;pwd=picc1234')
    
    In [3]: cr = conn.cursor()
    
    In [4]: cr.execute("select first 2 startdate from prpxbtd")
    ---------------------------------------------------------------------------
    Error                                     Traceback (most recent call last)
    <ipython-input-4-3aafa21fc670> in <module>()
    ----> 1 cr.execute("select first 2 startdate from prpxbtd")
    
    Error: ('HY000', '[HY000] [Informix][Informix ODBC Driver]Invalid byte in codeset conversion input. (21000) (SQLExecDirectW)')
    
    In [5]: conn.setdecoding(pyodbc.SQL_WCHAR, encoding='UTF-8')
    
    In [6]: conn.setdecoding(pyodbc.SQL_CHAR, encoding='UTF-8')
    
    In [7]: conn.setencoding(encoding='UTF-8')
    
    In [8]: cr.execute("select first 2 startdate from prpxbtd")
    Out[8]: <pyodbc.Cursor at 0x7f8403e736c0>
    
    In [9]: row = cr.fetchall()
    
    In [10]: for i in row:
        ...:     print(i)
        ...:     
    (datetime.date(2018, 11, 25), )
    (datetime.date(2018, 10, 19), )
    
    In [11]: conn.close()
    
    

     

    展开全文
  • 官网地址:http://www.swaroopch.com/notes/Python 一. Python的特点: 1. 简单 2. 易学 3. 免费开源 4. 高级语言 ...6. 解释性的(不需要编译连接直接运行,Python将原代码转换成字节码,然
  • A-Byte-Of-Python3翻译

    2020-09-04 21:20:03
    相邻的字符串会被自动连接。 输出中的format方法,类似printf+setf,可以调整格式。 标识符不能以数字开头,大小写敏感,只能用数字、字母、下划线。可以使用中文。 python中的任何东西都是对象。 变量不需要声明...
  • conn=cx_Oracle.connect #第一步:连接数据库 cursor=conn.cursor()#第二步:定义游标 cursor.execute()#第三步:执行语句 data=cursor.fetchall()#第四步:获取数据 数据库为oracle,数据库很老很原始,英文和数字...
  • python3中redis默认返回byte类型,我们首先查看redis连接StrictRedis的构造方法 def __init__(self, host='localhost', port=6379, db=0, password=None, socket_timeout=None, socket_connect_ti...
  • 《A Byte of Python》笔记

    2010-06-08 10:13:00
    基础知识数:在Python中有4种类型的数——整数、长整数、浮点数和复数 字符串:单引号,双引号,三引号(指示一个多行的字符串,自由使用单引号和双引号) 自然字符串:前缀r或R;Unicode字符串:前缀u 标识符:...
  • 安装psycopg2模块,此模块用于连接PostgreSQL数据库 ​pip install psycopg2 # -*- coding: utf-8 -*- import psycopg2 import numpy as np import json def insertOperate(): conn = psycopg2.connect...
  • 今天客户运行写好的python程序时,遇到了乱码问题 UnicodeDecodeError:'gbk'codec can't decode byte 0xaa in position 6:illegal multibyte sequen   乱码问题一直是特别特别头疼的问题,在网上搜索好久,找到...
  • 错误信息提示:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc0 in position 2: invalid start byte 编码方式的问题,在SQL server中存中文最好使用vchar或者nvarchar。 另外找到一段文档:...
  • 本机可以连上oracle,同一局域网内其他机器用sql developer也可以连上,但是不能使用python连接,会报错,如下 conn = cx_Oracle.connect('system', 'Hjl123456', '10.10.13.13:1521/orcl') UnicodeDecodeError: '...
  • tcpCliSock.connect((ip, port)) # 主动初始化TCP服务器连接 txt="\x27\x88" tcpCliSock.sendall(txt.encode()) # 发送消息 tcpCliSock.close() # .encode('UTF-8') ...
  • var received_data = make([]byte, 1024) data, _ := pipeReader.Read(received_data) pyExecIn.Close() pyExecOut.Close() pyExec.Wait() </code></pre> <p>Python: <pre><code>r, w = os.pipe() r = os.fdopen(r...
  • python输出Unicode和Str连接的字符串

    千次阅读 2017-10-17 15:16:05
    当Unicode和字符串连接输出时,会出现编码错误: UnicodeDecodeError: 'ascii' codec can't decode byte 0xe8 in position 7: ordinal not in range(128) 解决方法: a=u'Example' utf8string = a.encode("utf-8...
  • Convert to a byte, string or number first. 运行截图 原因 Python的第三方库redis升级到3.0后仅接受用户数据为字节、字符串或数字(整数,长整数和浮点数)。尝试将键或值指定为任何其他类型将引发DataError...
  • 报错提示: ... Convert to a byte, string or number first.+ 查看redis版本:发现redis=3.2.1 pip3 freeze 原因分析: Python的第三方库redis升级到3.0后仅接受用户数据为字节、字符串或数字(整数,...
  • from kazoo.client import KazooClient # 连接zookeeper,有些需要登录的填写账号密码 zk = KazooClient(hosts="192.168.0.162:2181",auth_data=[("digest", ...## 节点添加数据,必须是byte zk.create("/my/favorite/no
  • python redis

    2018-10-17 16:59:35
    1、Redis简要说明  redis是一个key-value存储系统,由C语言编写,支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API;...注意默认情况下,设置的值或取得的值都为byte...
  •  在使用join()将列表元素连接成字符串时出错如下 return split.join(result) UnicodeDecodeError: 'utf8' codec can't decode byte 0xcb in position 0: unexpected end of data 原因分析:  将list类型...
  • 基于Python实现邮件发送 by:授客 QQ:1033553122 测试环境: Python版本:Python 2.7 ... 注:需要修改mimetypes.py文件(该文件可... mimetypes.guess_type 'ascii' codec can't decode byte 0xb0 in position 1...
  • Python的文件类型主要分为3种:源代码(source file)、字节码(byte-code file)、优化的字节码(optimized file)。 这些代码都可以直接运行,不需要编译或者连接,这正是Python语言的特性。 1、源代码(source ...
  • Python-Redis中的编码问题 ...python中如何连接redis: value = value.decode(self.encoding, self.encoding_errors) UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start b
  • python错误处理

    2018-04-14 12:47:18
    连接数据库时的编码问题 报错 python编码错误:UnicodeDecodeError: 'utf8' codec can't decode 或者UnicodeDecodeError: 'ascii' codec can't decode byte 0xcf in position 7: ordinal not in range(128) 考虑使用...
  • python socket初识

    2018-08-24 22:50:54
    创建一个客户端: import socket client=socket.socket()#申明socket类型,同时生成socket链接对象 client.connect(("...)#在python3中只能传入byte类型 data=client.recv(256)#接受数据的...
  • 今天在尝试用python连接sql server08时,出现 cursor.execute("select top 1000 * from Orders") UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 0: invalid continuation byte异常 百度...
  • 浅谈Python的文件类型

    2021-01-20 04:30:30
    Python的文件类型主要分为3种:源代码(source file)、字节码(byte-code file)、优化的字节码(optimized file)。这些代码都可以直接运行,不需要编译或者连接。这正是Python语言的特性,Python的文件通过python...

空空如也

空空如也

1 2 3 4 5
收藏数 100
精华内容 40
关键字:

pythonbyte连接

python 订阅