Python csv:UnicodeDecodeError

2023-11-22

我正在用Python读取一个文件csv模块,并且还有另一个编码问题(抱歉,这里有太多问题)。

在 CSV 文件中,有 £ 符号。读入该行并打印后,它们已变为 \xa3。

尝试将它们编码为 Unicode 会产生UnicodeDecodeError:

row = [unicode(x.strip()) for x in row]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xa3 in position 0: ordinal not in range(128)

我一直在读csv 文档以及 StackOverflow 上有关此问题的许多其他问题。我think£ 在 ASCII 中变成 \xa3 意味着原始 CSV 文件采用 UTF-8 格式。

(顺便问一下,有没有快速检查 CSV 文件编码的方法?)

如果它是UTF-8,那么csv模块不应该能够处理它吗?它似乎将所有符号转换为 ASCII,尽管文档声称它接受 UTF-8。

我试过添加一个unicode_csv_reader功能如描述csv 示例,但这没有帮助。

- - 编辑 - - -

我应该澄清一件事。我见过这个问题,看起来非常相似。但添加unicode_csv_reader那里定义的函数会产生不同的错误:

yield [unicode(cell, 'utf-8') for cell in row]
UnicodeDecodeError: 'utf8' codec can't decode byte 0xa3 in position 8: unexpected code byte

那么也许我的文件根本不是UTF8?我怎么知道?


尝试使用“ISO-8859-1”进行编码。看起来你正在处理扩展的 ASCII,而不是 Unicode。

Edit:

下面是一些处理扩展 ASCII 的简单代码:

>>> s = "La Pe\xf1a"
>>> print s
La Pe±a
>>> print s.decode("latin-1")
La Peña
>>>

更好的是,处理给你带来问题的确切角色:

>>> s = "12\xa3"
>>> print s.decode("latin-1")
12£
>>>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python csv:UnicodeDecodeError 的相关文章

  • 查找两个字典的匹配键值对

    检查一个字典的键值对是否也存在于其他字典中的最有效方法是什么 假设我有两个字典dict1 and dict2这两个字典有一些共同的键值对 我想找到这些并打印出来 做到这一点最有效的方法是什么 请建议 一种方法是 d inter dict k
  • str_getcsv 未正确解析数据

    我对 PHP 的 str getcsv 函数有疑问 我有这个代码
  • 检查时间戳列是否在另一个数据帧的日期范围内

    我有一个数据框 df A 有两列 amin 和 amax 这是一组时间范围 我的目标是查找 df B 中的列是否位于 df A amin 和 amax 列中范围的任何行之间 df A amin amax amin amax 0 2016 0
  • Heroku 上的 Django 应用程序在一段时间后删除对象

    我编写了一个简单的 Django 问答论坛应用程序并将其部署在 Heroku 上 该网站的本地版本运行良好 但是 生产版本不会将问题 答案等存储超过几个小时 我决定坚持使用 Django 附带的 sqlite3 我预计该网站不会有太多流量
  • SparkSession 初始化需要很长时间

    SparkSession 初始化需要很长时间才能成功 这是我的代码 import findspark findspark init import pyspark from pyspark sql import SparkSession sp
  • Python矩阵问题[重复]

    这个问题在这里已经有答案了 这是从这个线程继续的 Python矩阵 有什么解决方案吗 https stackoverflow com questions 5835583 python matrix any solution Input fr
  • 如何在 Django Admin 中禁用事务?

    I used transaction non atomic requests for 被超越的save in Person model如下所示 store models py from django db import models fro
  • numpy 中用最少内存对上三角元素求和的最快方法

    我需要进行此类求和i
  • 无法解析 ReferenceProperty -- App Engine

    我遇到了一个错误 无法找出其根本原因 错误如下 ReferenceProperty 无法解析 u StatusLog STATUSLOGSID 此错误仅有时发生 大约一天一次或两次 生成此错误的脚本成功的次数多于失败的次数 该错误最奇怪的事
  • Python 调试器是否会介入生成器?

    我目前正在使用 NetBeans IDE 和 Jython 2 5 1 当逐步调试我的项目时 一旦遇到生成器的迭代 调试器就会直接转到代码末尾 输出工作正常 但是一旦满足第一个生成器就无法进行逐步调试 这是所有 Python IDE 中 P
  • 使用存储的密钥作为环境变量

    我有一个秘密密钥存储在 GCP 的秘密管理器中 我们的想法是使用该密钥通过云功能获取预算列表 现在 我可以从代码中访问该密钥 但我面临的问题是我需要使用该密钥设置一个环境变量 这是我添加密钥的方式 如果您的本地目录中有该文件 但是还有其他方
  • python中终止进程的跨平台方法

    当我尝试使用 subprocess Popen terminate 或 Kill 命令终止 Windows 中的进程时 出现访问被拒绝错误 如果文件不再存在 我真的需要一种跨平台的方式来终止进程 是的 我知道这不是做我正在做的事情的最优雅的
  • 从 Java 调用 Python 代码时出现问题(不使用 jython)

    我发现这是从 java 运行 使用 exec 方法 python 脚本的方法之一 我在 python 文件中有一个简单的打印语句 但是 我的程序在运行时什么也没做 它既不打印Python文件中编写的语句 也不抛出异常 程序什么都不做就终止了
  • ModuleNotFoundError:没有名为“googleapiclient”的模块

    如果这是一个愚蠢的问题 我深表歉意 我在 stackoverflow 上搜索过 但没有找到解决办法 我正在致力于从 Python 2 7 迁移到 Python 3 8 我收到一个程序的以下错误 请帮我 Traceback most rece
  • jQuery:将 json 响应的编码设置为 utf8

    我收到了 json 格式的 jQuery 响应 逻辑工作正常 但我无法让他正确编码数据 如 我搜索并发现this https stackoverflow com questions 26620 how to set encoding in
  • 如何使用 BeautifulSoup 只抓取可见的网页文本?

    基本上 我想用BeautifulSoup严格抓住可见文字在网页上 例如 这个网页 http www nytimes com 2009 12 21 us 21storm html是我的测试用例 我主要想获取正文 文章 甚至可能到处都有一些选项
  • 函数调用中的星号[重复]

    这个问题在这里已经有答案了 我正在使用 itertools chain 以这种方式 展平 列表列表 uniqueCrossTabs list itertools chain uniqueCrossTabs 这与说有什么不同 uniqueCr
  • 无法从 celery 信号连接到 celery 任务?

    我正在尝试连接task2 from task success signal from celery signals import task success from celery import Celery app Celery app t
  • 在IPython笔记本中自动播放声音

    我经常在 IPython 笔记本中运行长时间运行的单元 我希望笔记本在单元完成执行时自动发出蜂鸣声或播放声音 有没有办法在 iPython 笔记本中执行此操作 或者我可以在单元格末尾放置一些命令来自动播放声音 我正在使用 Chrome 如果
  • Pepper Robot:如何将 Python 地标检测移植到 Choregraphe?

    我正在尝试编写一个小程序 让 Pepper 通过 Choregraphe 检查房间内的地标 用于地标检测的常规 Python 代码工作得很好 但我无法将其移植到 Choregraphe http doc aldebaran com 2 5

随机推荐

  • android 中的椭圆是什么意思?

    我添加了一个EditText到我的布局 并添加了一个提示 并使其水平居中 运行应用程序时 提示是不可见的 我发现我应该做ellipsize的值TextView to be start
  • qemu-system-x86_64 :地址解析失败 ::1:46189:名称或服务未知

    我有以下问题 当我跑步时emulator avdname抛出以下错误 qemu system x86 64 chardev socket port 46189 host 1 nowait nodelay ipv6 id modem addr
  • 应用程序传输安全策略要求使用安全连接 - IOS 9

    我在使用 IP 地址连接 API 时遇到问题 即使我将以下代码添加到 plist 它仍然显示错误 如下所示 http xx3 xx xx8 xx7 xxx xxx 错误 无法加载资源 因为应用程序传输安全策略需要使用安全连接 这是我添加到
  • 获取特定用户的 CVS 历史记录

    如何获取特定用户对存储库所做的提交历史记录 我可以通过命令行或 TortoiseCVS 访问 CVS 因此使用任一方法的解决方案就足够了 作为一名编码员 我最感兴趣的是提交更改 而不是标记 分支等 因此我通常包括 c还有提交选项 cvs h
  • “ng-select”不是已知元素

    这是我的代码 我想在我的表格上添加https github com ng select ng select多选标签输入 组件 模块 ts import NgModule from angular core import CommonModu
  • 运行 shell 脚本时如何在 Jenkins 中标记构建不稳定

    在我正在进行的一个项目中 我们使用 shell 脚本来执行不同的任务 有些是运行 rsync 的 sh bash 脚本 有些是 PHP 脚本 PHP 脚本之一正在运行一些集成测试 这些测试输出到 JUnit XML 代码覆盖率报告等 詹金斯
  • meteorJS 从服务器调用 shell 命令

    我正在使用 MeteorJS 我想从 javascript 服务器端调用 bash 命令 这对于 NodeJS 来说似乎是可能的 http www dzone com snippets execute unix command nodejs
  • 获取多选中最后单击的选项

    在页面上 我有一个包含许多选项的选择 多个 框 现在我想对最后单击的项目做出反应 以使用 ajax 显示一些数据 由于选项元素上的 click 事件在 IE 中不起作用 我目前使用 change 事件 问题是 value 和 selecte
  • 如何使用 jQuery 在单击按钮时显示表格的另外 5 行

    我预加载了一个表及其所有行 但是 我只想显示其中的前 10 行 tbody 标签 现在每个 tr 在表中 这是我到目前为止所做的 var trs internalActivities gt table gt tbody gt tr trs
  • 骆驼、JMS、CLIENT_ACKNOWLEDGE 模式

    我知道Camel的JMS组件用于接收消息 使用Springs DefaultMessageListenerContainer 可以将其配置为使用 CLIENT ACKNOWLEDGE 模式来确认消息 我的问题是 什么时候调用 message
  • 从 PhpStorm 2017.1 检索保存(隐藏)的 SSH 密码

    我忘记了远程服务器的 SSH 密码 但它以隐藏方式保存在 IDE PhpStorm 2017 1 中 有什么办法可以查看隐藏密码吗 我终于可以从 PhpStorm 2017 1 检索密码 Go to 设置 首选项 外观与行为 系统设置 密码
  • PHP MySQLi multi_query 准备好的语句

    我想知道是否可以为 MySQLi multi query 准备多个语句 No mysqli multi query采用查询字符串作为其参数 而不是准备好的语句 mysql prepare只能准备一个语句 查询必须由单个 SQL 语句组成
  • 将 API 函数包装在 RxJs Observable 中

    我是 RxJs 的新手 我有一个用于地理编码的 API 它提供了如下所示的功能 simpleGeocode options where options address addr success Function failure Functi
  • ro.sf.lcd_密度必须定义为构建属性

    在模拟器上运行应用程序时 我遇到了这些错误 我该如何解决这个问题才能使我的程序更加可靠 error 01 16 11 06 49 211 E SurfaceFlinger 37 ro sf lcd density must be defin
  • 用C处理音频wav文件

    我正在处理 wav 文件的幅度并按某个小数因子缩放它 我正在努力思考如何以节省内存的方式读取和重写文件 同时也尝试解决该语言的细微差别 我是 C 语言的新手 该文件可以是 8 位或 16 位格式 我想到这样做的方法是首先阅读标头数据到一些预
  • 为什么要缓存 jQuery 对象?

    那么为什么我们要缓存 jQuery 对象呢 在以下场景中 var foo bar foo attr style cool foo attr width 123 bar attr style cool bar attr width 123 为
  • 使用 Git 创建更改文件的存档

    我正在寻找一个简单的解决方案来存档最近更改的文件 我得到这个简单的命令google git archive o update zip HEAD git diff name only HEAD 当我在 GIT BASH 中运行它时 它一直说致
  • 如何编写 ANSI C 控制台屏幕缓冲区?

    我正在制作一个基于 ASCII 的游戏 到处都有人说要使用 MSDN 中的 Console Write 如果你使用的是 Windows 那就太棒了 但我没有 因此 我尝试用 C 语言编写一个函数或一组函数 可以在两个屏幕缓冲区之间交替 并将
  • NameValuePair 在 API 22 中已弃用

    现在 namevaluepair 在 API 22 中已被弃用 如果我想实现 namevaluepair 接口 我该怎么办 下面是我的代码 package com example passpass import org apache htt
  • Python csv:UnicodeDecodeError

    我正在用Python读取一个文件csv模块 并且还有另一个编码问题 抱歉 这里有太多问题 在 CSV 文件中 有 符号 读入该行并打印后 它们已变为 xa3 尝试将它们编码为 Unicode 会产生UnicodeDecodeError ro