循环遍历 CSV 行时忽略某些字符

2024-01-17

使用此代码尝试打印 csv 中的每一行:

import csv

f = open('export.csv')
csv_f = csvkit.reader(f)

for row in csv_f:
    print(row)

不幸的是,csv 文件在多行中包含字符 ® ,这会导致以下错误:

UnicodeEncodeError: 'charmap' codec can't encode character '\xae' in position 27: character maps to <undefined>

我已经搜索了类似问题的其他答案,并尝试使用不同的编码,但不幸的是,我无法完全理解它以使其工作。 CSV 文件似乎采用 UTF-8 格式,或者至少当我在 Windows 中打开该文件时 OpenOffice Calc 是这么说的。

有什么方法可以让我在“忽略” ® 字符的同时打印行,以便不返回错误?任何替代解决方案也将不胜感激。


如果你想过滤一些“不可打印/奇怪”的字符,你可以这样做:

row = ["aaaaa \xae bbbbb","foo"]

filtered_row = ["".join(c if ord(c)<128 else "." for c in s) for s in row]
print(filtered_row)

结果(所有奇怪的字符都已替换为点):

['aaaaa . bbbbb', 'foo']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

循环遍历 CSV 行时忽略某些字符 的相关文章

  • 为什么在“ except”块之后使用命名异常会得到“ NameError”(或“ UnboundLocalError”)?

    此示例代码在 2 x 中运行 exc None try raise Exception except Exception as exc pass print exc 但在 3 x 中我收到一个错误 NameError name exc is
  • 初始化 dask 分布式工作线程的状态

    我正在尝试做类似的事情 resource MyResource def fn x something dosemthing x resource return something client Client results client m
  • 在f字符串中转义字符[重复]

    这个问题在这里已经有答案了 我遇到了以下问题f string gt gt gt a hello how to print hello gt gt gt f a a gt gt gt f a File
  • 如何将输入读取为数字?

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 Why are x and y下面的代码中使用字符串而不是整数 注意 在Python 2
  • Python 3.6.1 安装位置

    我在 Ubuntu 16 服务器上安装了 Python 3 6 1 但找不到安装位置 我查看了 usr bin 其中提到了除 3 6 1 之外的所有其他版本 在哪里可以找到该版本的可执行文件 使用命令 whereis python3 6 1
  • 字典键中的通配符

    假设我有一本字典 rank dict V 1 A 2 V 3 A 4 正如您所看到的 我在一个 V 的末尾添加了一个 虽然 3 可能只是 V 的值 但我想要 V1 V2 V2234432 等的另一个密钥 我想检查它 checker V30
  • python 从字典中获取唯一值

    我想从我的字典中获取唯一的值 Input 320 167 316 0 319 167 401 167 319 168 380 167 265 166 期望的输出 167 0 168 166 我的代码 unique values sorted
  • Django model.foreignKey 并返回 self.text 错误

    所以我正在 Django 中处理 model py 但遇到了 2 个 pylint 错误 我不明白为什么 这是 pylint 的问题还是我在代码中做错了什么 E1120 No value for argument on delete in
  • 删除aws beanstalk上的uuid python包

    这是针对所提出问题的后续帖子 问题here https stackoverflow com questions 44421761 flask beanstalk deployment errors 以防万一对其他人有用 自从第一篇文章以来
  • 导入错误:无法导入名称“FFProbe”

    我无法获取ffprobe包 https github com simonh10 ffprobe在 Python 3 6 中工作 我使用 pip 安装它 但是当我输入import ffprobe it says Traceback most
  • multiprocessing.Queue 中的 ctx 参数

    我正在尝试使用 multiprocessing Queue 模块中的队列 实施 https docs python org 3 4 library multiprocessing html exchang objects Between p
  • 哪种方式最适合Python工厂注册?

    这是一个关于这些方法中哪一种被认为是最有效的问题 Pythonic 我不是在寻找个人意见 而是在寻找惯用的观点 我的背景不是Python 所以这会对我有帮助 我正在开发一个可扩展的 Python 3 项目 这个想法类似于工厂模式 只不过它是
  • Python 3 中 int() 和 Floor() 有什么区别?

    在Python 2中 floor 返回一个浮点值 虽然对我来说并不明显 但我发现了一些解释来澄清为什么它可能有用floor 返回浮点数 对于类似的情况float inf and float nan 然而 在Python 3中 floor 返
  • 如何传递架构以从现有数据帧创建新数据帧?

    要将 schema 传递到 json 文件 我们这样做 from pyspark sql types import StructField StringType StructType IntegerType data schema Stru
  • 嵌套列表的重叠会产生不必要的间隙

    我有一个包含三个列表的嵌套 这些列表由 for 循环填充 并且填充由 if 条件控制 第一次迭代后 它可能类似于以下示例 a 1 2 0 0 0 0 0 0 4 5 0 0 0 0 0 0 6 7 根据条件 它们不重叠 在第二次迭代之后 新
  • 每当使用 import cv2 时 OpenCV 都会出错

    我在终端上使用 pip3 install opencv contrib python 安装了 cv2 并且它工作了 但是每当我尝试导入 cv2 或运行导入了 cv2 的 vscode 文件时 在 python IDLE 上它都会说 Trac
  • pytest找不到模块[重复]

    这个问题在这里已经有答案了 我正在关注pytest 良好实践 https docs pytest org en latest explanation goodpractices html test discovery或者至少我认为我是 但是
  • Python3.7 rasterio库打不开jp2

    我想从 Sentinel2 打开 jp2 图像 但是当我读取图像时 band rasterio open imagetest driver JP2OpenJPEG 我收到下一个错误 D DataStorage 00 sentinel dat
  • 在 python 中执行 Class.objects.filter(...) 模式

    我希望使用 django 模型中使用的模式Model objects filter 跨数据构建过滤器 这可能是 pandas 的一个很好的用例 但我更感兴趣的是在尝试之前改进我的 python 首先 如果我有以下数据 DATA id 1 n
  • 是否可以模拟 Python 3.6 中的内置 len() 函数?

    是否可以模拟内置len Python 3 6 中的函数 我有一个类定义了一个简单的方法 该方法依赖于len 函数如下 class MyLenFunc object def is longer than three characters se

随机推荐