python的csv阅读器可以保留引号吗?

2023-11-27

我想使用 python CSV 阅读器,但我想保留引号。这就是我想要的:

>>> s = '"simple|split"|test'
>>> reader = csv.reader([s], delimiter='|', skipinitialspace=True)
>>> reader.next()
['"simple|split"', 'test']

但我实际上得到:

['simple|split', 'test']

就我而言,我希望引用的字符串仍被引用。

我知道 CSV 阅读器正在按预期工作,而我的用例是对它的滥用,但是有什么方法可以让它符合我的意愿吗?或者我必须编写自己的字符串解析器?


您将必须编写自己的解析器,因为支持解析和引用的模块部分位于 C 方面,特别是parse_process_char位于Modules/_csv.c:

    else if (c == dialect->quotechar &&
             dialect->quoting != QUOTE_NONE) {
        if (dialect->doublequote) {
            /* doublequote; " represented by "" */
            self->state = QUOTE_IN_QUOTED_FIELD;
        }
        else {
            /* end of quote part of field */
            self->state = IN_FIELD;
        }
    }
    else {
        /* normal character - save in field */
        if (parse_add_char(self, c) < 0)
            return -1;
    }

“字段的引用部分结束”部分是在咀嚼双引号。另一方面,你也许可以杀死它else有条件并重建 python 源代码。然而,说实话,这并不是那么容易维护。

Edit:抱歉,我的意思是添加最后的部分else before self->state = IN_FIELD所以它添加了引号。

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

python的csv阅读器可以保留引号吗? 的相关文章

  • 如何计算 pandas datetime 对象的均值和方差?

    如何计算 YYYY MM DD 形式的 python 日期时间对象的汇总统计数据 均值和标准差 我想对具有不同 ID 的不同日期时间对象组执行此操作 数据如下 import datetime as dt df pd DataFrame Da
  • Python - 比较同一字典中的值

    我有一本字典 d Trump MAGA FollowTheMoney Clinton dems Clinton Stein FollowTheMoney Atlanta 我想删除字符串列表中的重复字符串 该字符串是键的值 对于这个例子 期望
  • 计算另一个字符串中多个字符串的出现次数

    在 Python 2 7 中 给定以下字符串 Spot是一只棕色的狗 斑点有棕色的头发 斑点的头发是棕色的 查找字符串中 Spot brown 和 hair 总数的最佳方法是什么 在示例中 它将返回 8 我正在寻找类似的东西string c
  • Gunicorn 工作人员无论如何都会超时

    我正在尝试通过gunicorn运行一个简单的烧瓶应用程序 但是无论我做什么 我的工作人员都会超时 无论是否有针对应用程序的活动 工作人员在我设置任何内容后总是会超时timeout值到 是什么导致它们超时 当我发出请求时 请求成功通过 但工作
  • 在 Python 中将列表元素作为单独的项目返回

    Stackoverflow 的朋友们大家好 我有一个计算列表的函数 我想单独返回列表的每个元素 如下所示 接收此返回的函数旨在处理未定义数量的参数 def foo my list 1 2 3 4 return 1 2 3 4 列表中的元素数
  • VSCode Settings.json 丢失

    我正在遵循教程 并尝试将 vscode 指向我为 Scrapy 设置的虚拟工作区 但是当我在 VSCode 中打开设置时 工作区设置 选项卡不在 用户设置 选项卡旁边 我还尝试通过以下方式手动转到文件 APPDATA Code User s
  • 我应该使用 Python 双端队列还是列表作为堆栈? [复制]

    这个问题在这里已经有答案了 我想要一个可以用作堆栈的 Python 对象 使用双端队列还是列表更好 元素数量较少还是数量较多有什么区别 您的情况可能会根据您的应用程序和具体用例而有所不同 但在一般情况下 列表非常适合堆栈 append is
  • 在 Django Admin 中调整字段大小

    在管理上添加或编辑条目时 Django 倾向于填充水平空间 但在某些情况下 当编辑 8 个字符宽的日期字段或 6 或 8 个字符的 CharField 时 这确实是一种空间浪费 字符宽 然后编辑框最多可容纳 15 或 20 个字符 我如何告
  • 为什么一旦我离开内置的运行服务器,Django 就无法找到我的管理媒体文件?

    当我使用内置的简单服务器时 一切正常 管理界面很漂亮 python manage py runserver 但是 当我尝试使用 wsgi 服务器为我的应用程序提供服务时django core handlers wsgi WSGIHandle
  • 使用 Python Oauthlib 通过服务帐户验证 Google API

    我不想使用适用于 Python 的 Google API 客户端库 但仍想使用 Python 访问 Google APIOauthlib https github com idan oauthlib 创建服务帐户后谷歌开发者控制台 http
  • 如何将 ascii 值列表转换为 python 中的字符串?

    我在 Python 程序中有一个列表 其中包含一系列数字 这些数字本身就是 ASCII 值 如何将其转换为可以在屏幕上回显的 常规 字符串 您可能正在寻找 chr gt gt gt L 104 101 108 108 111 44 32 1
  • Protobuf 如何编码 oneof 消息结构

    对于这个 python 程序 在编码时运行 protobuf 编码会给出以下输出 0a 10 08 7f8a 0104 08 02 10 0392 0104 08 02 10 03 18 01 我不明白的是为什么8a后面有一个01 为什么9
  • 为什么 csv.DictReader 给我一个无属性错误?

    我的 CSV 文件是 200 Service 我放入解释器的代码是 snav csv DictReader open screennavigation csv delimiter print snav fieldnames 200 for
  • 如何以正确的方式为独立的Python应用程序制作setup.py?

    我读过几个类似的主题 但还没有成功 我觉得我错过或误解了一些基本的事情 这就是我失败的原因 我有一个用 python 编写的 应用程序 我想在标准 setup py 的帮助下进行部署 由于功能复杂 它由不同的 python 模块组成 但单独
  • 如果 PyPy 快 6.3 倍,为什么我不应该使用 PyPy 而不是 CPython?

    我已经听到很多关于PyPy http en wikipedia org wiki PyPy项目 他们声称它比现有技术快 6 3 倍CPython http en wikipedia org wiki CPython口译员开启他们的网站 ht
  • 每当使用 import cv2 时 OpenCV 都会出错

    我在终端上使用 pip3 install opencv contrib python 安装了 cv2 并且它工作了 但是每当我尝试导入 cv2 或运行导入了 cv2 的 vscode 文件时 在 python IDLE 上它都会说 Trac
  • 制作一份 Python 文档的 PDF 文件

    Python 官方网站提供 PDF 文档下载 但它们是按章节分隔的 我下载了源代码并构建了 PDF 文档 这些文档也是单独的 PDF 我怎么能够从源代码中的 Makefile 构建一个 PDF 文件 我认为这样阅读起来会更方便 如果连接单独
  • 在virtualenv中下载sqlite3

    我正在尝试使用命令创建应用程序python3 manage py startapp webapp但我收到一条错误消息 django core exceptions ImproperlyConfigured 加载时出错 pysqlite2 或
  • 根据 Pandas 中的列表选择数据框行的子集

    我有一个数据框df1并列出x In 22 import pandas as pd In 23 df1 pd DataFrame C range 5 B range 10 20 2 A list abcde In 24 df1 Out 24
  • 将索引与值交换的最快方法

    考虑pd Series s s pd Series list abcdefghij list ABCDEFGHIJ s A a B b C c D d E e F f G g H h I i J j dtype object 交换索引和值并

随机推荐

  • .Net枚举winforms字体样式?

    我一直在寻找一种使用 Net 框架列出给定字体的有效字体样式的方法 即使我必须 pinvoke gdi32 或其他一些 API 因为并非所有字体都属于 System Drawing FontStyle 枚举值 粗体 斜体 常规 删除线 下划
  • 自定义WPF窗口样式

    我正在尝试制作自定义窗口样式 目标是创建一个可以被我的应用程序中的每个窗口使用的模板 模板包含工具栏 标题和 窗口将使用的区域 问题是 当我使用我的样式时 我无法再添加网格和控件 App xaml
  • 在 __init__ 上使用 scrapy 管道中的参数

    我有一个 scrapy pipelines py 我想获得给定的参数 在我的 Spider py 中 它工作得非常完美 class MySpider CrawlSpider def init self host domain id args
  • 从非托管代码调用托管 .NET 代码的最佳方法

    我试图找到从非托管 C 代码调用托管 NET 代码的最佳执行方法 我在我的 C 应用程序中找到了有关托管 NET 的信息 并且我能够创建 pRuntimeHost 并毫无问题地启动它 ExecuteInDefaultAppDomain 似乎
  • 如何让 iOS 上的 tesseract 运行得更快?

    我在 ios 上的 tesseract ocr 上遇到了困难 一切工作正常 但速度真的很慢 单行数字的识别时间为 2 3 秒 我正在阅读视频流 我正在使用 tesseract 3 01 以及针对我的字体的自定义训练文件 这是我所做的 设置
  • Rails 3 中控制器特定的样式表:继承

    首先 我是 Rails 的新手 我正在 Rails 网站上工作 它有三个控制器 即application controller static pages controllers 和 users controller 它们在 app asse
  • 在 Hibernate 验证期间执行 EntityManager 查询的正确方法

    我是一个 Java EE EJB 菜鸟 但从我收集的文档和其他帖子来看 您无法在实体验证期间使用相同的实体管理器 会话查询数据库 一般来说 可移植应用程序的生命周期方法不应调用 EntityManager 或查询操作 访问其他实体实例或修改
  • Haskell 和惰性 Monads 评估

    在使用 monad 时 我经常遇到评估问题 现在 我了解了延迟求值的基本概念 但我不明白如何在 Haskell 中延迟求值 monad 考虑下面的代码 module Main where import Control Monad impor
  • Django 删除文件字段

    我正在 Django 中构建一个网络应用程序 我有一个上传文件的模型 但无法删除该文件 这是我的代码 class Song models Model name models CharField blank True max length 1
  • Tomcat 引起:java.util.zip.ZipException:打开 zip 文件时出错

    我有一个 spring mvc 项目 但它抛出了Caused by java util zip ZipException error in opening zip file当我通过 Tomcat 运行它时 如何确定哪个 jar 文件没有正确
  • 如何在IIS7.5中启用ASP经典

    我在 Windows 7 中运行 IIS 7 5 并且已经进入 打开或关闭 Windows 功能 并在 Internet 信息服务 万维网服务 应用程序开发功能 中启用了 ASP 完成此操作后 我开始收到 HTTP 404 错误 由于扩展名
  • 替换日期时间日期中的年份

    我有一个带有一列的表 dateDT 格式为日期时间和年份的变量输入 selYear 在我的 Select 中 格式为 int 如何使用变量输入替换表中日期中的年份并以日期时间格式返回结果 在选择中 我已尝试以下操作 但这返回错误的日期 年份
  • 使用下划线 groupby 按颜色对一组汽车进行分组

    我有一系列的汽车 car make nissan model sunny colour red 我将如何使用 underscore js 按颜色对数组进行分组 我尝试了一些组合 但我不太确定如何指定我的迭代器条件 var carsGroup
  • OSError:无法打开共享对象文件:即使文件位于文件夹中,也没有此类文件或目录

    我已经为此奋斗了很长一段时间了 我正在尝试安装 Yaafe 来提取音频特征 我按照这里的说明操作 https github com Yaafe Yaafe 一切都安装得很好 但是当我尝试运行测试文件 frames py 时 出现以下错误 F
  • C - 在内存被释放()后访问数据?

    我读了很多关于标准 C 中的 malloc 和 free 的内容 据我了解 您malloc 只为了一次记忆 然后你free 同样的记忆只有一次 这可能是不好的做法 但我明白 在你之后malloc 内存 您可以定义多个指向它的指针 而一旦你f
  • 酸洗 scipy interp1d 样条

    我想知道有没有简单的腌制方法interp1dscipy 中的对象 这种天真的方法似乎不起作用 import pickle import numpy as np from scipy interpolate import interp1d x
  • OpenMP 和 NUMA 的关系?

    我有一台双路 Xeon E5522 2 26GHZ 机器 禁用超线程 在支持 NUMA 的 Linux 内核 3 0 上运行 ubuntu 服务器 架构布局为每个插槽 4 个物理核心 OpenMP 应用程序在这台机器上运行 我有以下问题 在
  • 如何创建Python卷积核?

    我正在尝试创建一个卷积核 中间值为 1 5 不幸的是 我不断地想出如何做到这一点的想法 我正在尝试创建类似的东西 Array 0 1 0 1 1 5 1 0 1 0 由于 OpenCV 使用 Numpy 来显示图像 因此您可以简单地使用 N
  • 使用 Carrierwave 清理 tmp 目录

    我使用 Carrierwave 进行图像上传 在我的表单中 我添加了一个用于缓存的隐藏字段 如文档中所述 form for user html multipart true do f p f label image your image f
  • python的csv阅读器可以保留引号吗?

    我想使用 python CSV 阅读器 但我想保留引号 这就是我想要的 gt gt gt s simple split test gt gt gt reader csv reader s delimiter skipinitialspace