解决 pandas 读取 SQL Server 中的数据时,遇到 varchar 属性的中文字符显示乱码的问题(新)

通用解决办法(通杀)

  1. 读取SQL server中的数据

    import pandas as pd
    from sqlalchemy import create_engine# 根据实际情况修改服务器地址、数据库名、用户名和密码
    server = 'your_server_address'
    database = 'your_database_name'
    username = 'your_username'
    password = 'your_password'# 使用 utf-8 或 gbk 字符集,根据实际情况选择
    connection_str = f'mssql+pyodbc://{username}:{password}@{server}/{database}?driver=ODBC+Driver+17+for+SQL+Server&charset=utf-8'
    engine = create_engine(connection_str)# 读取数据
    df = pd.read_sql('SELECT * FROM your_table', engine)
    
  2. 使用 pandas 的 applymap() 函数将字符串列转换为正确的编码格式(全部转换):

    def convert_encoding(value):if isinstance(value, str):try:# 尝试使用 utf-8 编码解码decoded_value = value.encode('raw_unicode_escape').decode('utf-8')except UnicodeDecodeError:try:# 如果 utf-8 解码失败,尝试使用 gbk 编码解码decoded_value = value.encode('raw_unicode_escape').decode('gbk')except UnicodeDecodeError:# 如果两种编码都无法解码,返回原始值decoded_value = valuereturn decoded_valueelse:return value# 将所有字符串列转换为正确的编码格式
    df = df.applymap(convert_encoding)
    
  3. 按需转换,指定特殊列进行转换

    def convert_encoding(value):if isinstance(value, str):try:# 尝试使用 utf-8 编码解码decoded_value = value.encode('raw_unicode_escape').decode('utf-8')except UnicodeDecodeError:try:# 如果 utf-8 解码失败,尝试使用 gbk 编码解码decoded_value = value.encode('raw_unicode_escape').decode('gbk')except UnicodeDecodeError:# 如果两种编码都无法解码,返回原始值decoded_value = valuereturn decoded_valueelse:return value# 指定需要转换编码格式的列
    columns_to_convert = ['column1', 'column2']  # 根据实际情况修改列名# 对指定的列应用编码转换函数
    for col in columns_to_convert:df[col] = df[col].apply(convert_encoding)
    

完毕!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/859785.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

持续增强国产适配 | 宁盾身份域管与南大通用、飞腾完成产品兼容性认证

随着党政、央国企、金融信创国产化改造日益深入,企业对国产 IT 基础设施生态兼容适配的需求日益迫切。为践行给企业提供“开箱即用”的交付体验承诺,宁盾身份域管持续增强多元异构产品的兼容适配。近日,宁盾身份域管与天津南大通用数据技术股…

电子设备抗震等级与电子设备震动实验

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/139923445 红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软…

solidworks安装教程 - 解决安装后服务不能自动启动问题

Solidworks安装教程,有些同学的电脑过于复杂,产生了正常的服务不能启动。 前面的有个重要的操作操作界面有,大家应该是执行了: 那么我们有变通的方法可以让这个服务启动: 1. cmd用管理员启动 2. 测试下如下命令是否…

electron-builder创建桌面应用

一、利用vue-cli创建vue项目 二、添加淘宝 electron 源,防止超时 //npm设置淘宝镜像 npm config set registry https://registry.npm.taobao.org/ //electron添加淘宝镜像 npm config set ELECTRON_MIRROR http://npm.taobao.org/mirrors/electron/三、 保存之后&…

web应用-Nginx学习笔记01-应用的组成结构,配置项的分类和理解

参考来源: 在线文档:Nginx开发从入门到精通,https://docs.pythontab.com/nginx/nginx-book/ 极客专栏:nginx核心100讲,作者:陶辉 书籍:《深入理解Nginx:模块开发与架构解析》第二章 参考来源&a…

HTML5休闲小游戏《猫猫超市》源码,引流、刷广告利器

HTML5休闲小游戏《猫猫超市》源码,直接把源码上传到服务器就能使用了! 下载链接:https://www.huzhan.com/code/goods467910.html

「邀请函」相约广州!科东软件诚邀您参加2024亚洲电力展&亚洲新型电力及储能论坛

能源电力行业盛会-2024亚洲新型电力系统及储能展览会将于6月26日在广州广交会展馆B区一楼盛大开幕!展会同期,由南方电网主办,科东软件协办的2024亚洲新型电力及储能论坛也将同步召开,高峰论坛将为能源领域提供领先的前瞻资讯、技术…

基于Java网上跳蚤市场系统设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟感兴趣的可以先收藏起来,还…

【工具类的编写】

编写工具类 最近在写一个C的项目,发现编写项目的过程真是曲折,所以写通过博客方式来对本项目进行一个重新的梳理。以便于自己来更好的了解这个项目。 1. 时间类的编写 我们都知道在C中获取时间戳很简单,但是怎么把一个时间戳转换为我们平时…

精密机械中的滚珠螺杆与螺杆支撑座的完美配合!

螺杆支撑座和滚珠螺杆是机械设备中的重要部件。滚珠螺杆通常运用在自动化设备中,需高速运动、高精度定位均依靠它的优良性能,如机床,数控、工业机器人等机械设备。螺杆支撑座装在螺杆的两端,支撑座有两端,固定端和支撑…

TLS + OpenSSL + Engine + PKCS#11 + softhsm2 安全通信

引擎库路径只有在 /lib 下才能被 "LOAD" 识别到,OpenSSL的ReadMe给的示例在/lib,看源码才能知道为何不能任意指定路径 // #define PKCS11_ENGINE_PATH "/usr/lib/x86_64-linux-gnu/engines-1.1/pkcs11.so" #define PKCS11_ENGINE_P…

线性代数|机器学习-P18快速下降奇异值

文章目录 1. 为什么要低秩矩阵 1. 为什么要低秩矩阵 我们的世界里面有很多数据,如果我们原封不动的发送数据,那么会导致数据量的增大,我们希望对数据进行压缩后再打包压缩,这样的话我们能够在带宽一定的情况下发送更多的数据&…

通过ETLCloud实现SQL Server数据同步至Oracle

SQL Server与Oracle作为全球两大主流的关系型数据库管理系统(RDBMS),在企业级应用中扮演着至关重要的角色。它们各自凭借独特的技术优势、强大的数据处理能力以及高度的可扩展性,支撑着从中小型企业到大型跨国公司的各类复杂业务需…

区块链学习03-空投篇

Hybrid 是与 以太坊 兼容的第 2 层区块链,集成了混合专家 (MoE) 框架,支持以即插即用的方式轻松创建和货币化 AI 代理。该平台旨在提高区块链应用程序中数据的完整性和可用性,支持跨各个行业开发和部署 AI 驱动的解决方案。 Hybrid 正在为其…

服务器重启后jenkins任务内容不见了,并且新建任务也不见了

服务器centos7.4 背景:服务器异常重启后,jenkins上面的任务只剩下一些前端项目,后端的任务都不展示了,jenkins版本是Jenkins 2.346.3 解决方案:根据显示,jenkins很多的插件引用失败,显示需要升…

ModuleNotFoundError: No module named ‘h5py‘

到 ModuleNotFoundError: No module named h5py 错误表明 Python 环境中没有安装 h5py 模块。h5py 是一个用于处理 HDF5 二进制数据格式的 Python 接口,广泛用于大规模存储和操纵数据。 解决方案:安装 h5py 要解决这个问题,你需要在你的 Py…

报错:ERROR_ No matching distribution found for gitpython_=3.1.30

版本不匹配 当前安装环境:python3.8 pytorch2.1.2 预估pytorch版本太高 重新安装环境:python3.9 pytorch1.9.1 问题得到解决 python和pytorch对应版本参考

mvn配置中repository和mirror的区别

文章目录 前言一、 repository二、 mirror三、 具体区别四、 使用场景总结 前言 平时在配置mvn仓库地址的时候,总是会百度一下,有时候文章让用repository配置,有时候用mirror,配置起来都能用,于是就不怎么在意他们的区…

EcmaScript6全新语法特性-----EcmaScript6(1)

age : 20,language : "Eng"}// 对象也可以用结构表达式来获取对应的值const { name,age,language} person;// 这样可以将我们获取的值name变成abc这个变量// const { name:abc,age,language} person;// 字符串拓展let str "Hello,vue";// 判断是否以xxx…

.idea文件夹里面iml文件有啥用

.idea文件夹和其中的.iml文件对于IntelliJ IDEA项目非常重要,它们共同构成了IDEA对项目理解的基础。让我们详细了解一下这两者的作用: .idea文件夹 .idea文件夹包含了IntelliJ IDEA项目的所有配置信息,包括但不限于: 编译器设置…