Python:如何使用 DictReader 两次?

2023-11-23

这感觉像是一个非常基本的问题,但我在其他地方找不到任何提及。我是一个 Python 初学者。

当我使用 DictReader 读取数据,然后使用字典时,我无法再次引用它。例如,使用以下代码:

#!/usr/bin/python

import csv
import cgi
import cgitb
cgitb.enable()

print "<head><title>Title</title></head><body>"

f = open("blurbs.csv","rb")
blurbs = csv.DictReader(f, delimiter="\t")
for row in blurbs:
    print row
for row in blurbs:
    print row

f.close()
print "</body>"

只会打印一次blurbs.csv 的内容。第二个“for row in blurbs:”什么也不做。我有什么遗漏的吗?怎样才能把字典变成可以反复参考的东西呢?


您只需将文件查找回开头即可:

with open("blurbs.csv","rb") as f:
    blurbs = csv.DictReader(f, delimiter="\t")
    for row in blurbs:
        print row
    f.seek(0)
    for row in blurbs:
        print row

或者,您可以将字典生成包装到字典列表中并对其进行操作:

with open("blurbs.csv","rb") as f:
    blurbs = list(csv.DictReader(f, delimiter="\t"))
for row in blurbs:
    print row
for row in blurbs:
    print row
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python:如何使用 DictReader 两次? 的相关文章

随机推荐

  • 将数据框通过管道传递给一个函数,该函数的参数通过管道传递一个点

    如何将数据帧传送到一个其参数传送点的函数 mpg gt rbind gt rev rep xi length out nvar 中的错误 尝试复制 闭包 类型的对象 另一个例子 mpg gt gt arrange manufacturer
  • 如何使用 iText PdfStamper 将内容添加到 PDF

    我正在开发一个系统 我必须在其中添加一些图像到现有的 PDF 文档中 这对于 iText 5 1 3 非常有效 但由于某种原因 在包含扫描图像的 PDF 中 它不会添加任何图像 这是链接到PDF文档无法使用 PdfStamper 修改 这是
  • WPF:无法设置属性元素的属性奇怪

    private TextBlock caption new TextBlock public TextBlock Caption get return caption set caption value
  • Groovy 2.0 静态编译的性能如何

    我发现最近发布的 Groovy 2 0 包括可选的静态编译以及其他一些附加好处 例如可选的静态类型检查 经过一番搜索后 我无法找到任何将 Groovy 的性能 使用静态编译 与 Java 甚至 Scala 进行比较的广泛基准测试 有谁知道这
  • 为什么我不能在 std::transform 中使用 std::get<0> ?

    在尝试编译以下代码时 它将复制maps 的键vector map
  • Angular 指令中带有 require 的 bindToController

    如果我的指令使用 require 要使用不同的指令 例如ngModel 并使用隔离范围我如何能够使用bindToController语法并且仍然能够访问可注入项 ngModelController 从控制器 如果没有的话你会怎么做bindT
  • Git 缺少提交错误

    我们最近更改了存储库的位置 并且发现文件中缺少几个月前的提交 我们拥有 Git 的旧服务器已关闭 因此无法从那里恢复提交 这是我得到的错误 git fsck full broken link from commit 58ba71d080b1
  • Rails 4 枚举验证

    这是我第一次在 Rails 4 中使用枚举 我遇到了一些问题 想到了一些肮脏的解决方案 并想检查是否有更优雅的解决方案 这是我的表迁移相关部分 create table shippings do t t column status inte
  • leaflet-draw 删除按钮删除“全部清除”操作

    如何从删除按钮中删除 全部清除 操作传单抽奖编辑工具栏 我知道你可以删除整个delete按钮 但仍需要删除个别项目 基本上寻找一种方法来防止用户删除地图中的每个项目 编辑工具栏测试是否存在removeAllLayers按钮处理程序上的成员
  • Python PIL 成像库 FileNotFoundError

    我目前正在开发一个 tkinter GUI 项目 该项目接收用户的平均值并将其返回给他们 我希望使用 PIL 库在我的父窗口中显示图像 昨天这个库工作正常并在目录中找到我的图像 但今天似乎无法找到该目录 有人可以帮助我并指导我 我不知道为什
  • 每个框中带有标签的马赛克图,显示所有观察值的名称和百分比

    我想创建一个马赛克图 R 包 vcd 请参见例如http cran r project org web packages vcd vignettes residual shadings pdf 在绘图内带有标签 标签应显示各种因素的组合或一
  • Docker/LXC 容器是正在运行的应用程序还是内存中的东西?

    我刚刚读了优秀的SO问题 Docker 和虚拟机有什么区别 然而 被接受的答案让我想要更多一点 I sort of了解容器 Docker LXC 我不明白其中的区别 来使用称为libcontainer和 AuFS 使数十个 数百个甚至数千个
  • 如何在 Thymeleaf 中分割字符串

    我有像这样的图像名称wange 25011 jpg wange 25011 1 jpg或 null 我想将它们拆分为wange 25011 jpg and wange 25011 1 jpg 或者如果为空则不拆分 我尝试了如下代码 但没有工
  • Retrofit 2 和 RxJava 错误处理运算符

    我在我的项目中使用 Retrofit 2 以及 Observable 接口和 Result 包装器 例子 POST api login Observable
  • 以编程方式设置 ConstraintLayout 宽度以匹配父宽度

    在 Android 应用程序中 我尝试以编程方式添加自定义ConstraintLayout垂直方向的视图LinearLayout 我设置了LayoutParams to MATCH PARENT对于宽度和WRAP CONTENT对于高度在C
  • 如何让 ELMAH 与 ASP.NET MVC [HandleError] 属性一起使用?

    我正在尝试使用 ELMAH 记录 ASP NET MVC 应用程序中的错误 但是当我在控制器上使用 HandleError 属性时 ELMAH 在发生错误时不会记录任何错误 正如我猜测的那样 因为 ELMAH 只记录未处理的错误 并且 Ha
  • jQuery 与原生原型冲突

    我在使用 jQuery 和本机 JavaScript 时遇到问题 NOT原型 js 当使用以下代码时 jQuery 1 9 1 出现错误消息 Object prototype myVeryGreatFunction function Err
  • 为什么 GitHub 可能会报告公钥无效? [关闭]

    Closed 这个问题是无关 目前不接受答案 我已经生成了 ssh 密钥 结果是 Your identification has been saved in home rajani ssh id rsa Your public key ha
  • 从 Chrome 开发工具中的网络选项卡预览复制变量

    我正在使用 Chrome 开发工具 并通过网络窗格进行挖掘 以通过预览选项卡查看 XHR 响应 我想从预览中抓取一个特定的对象 但当我尝试存储为全局变量通过右键单击预览对象 创建的临时变量为空 我觉得这很奇怪 因为数据在内存中 否则根本不会
  • Python:如何使用 DictReader 两次?

    这感觉像是一个非常基本的问题 但我在其他地方找不到任何提及 我是一个 Python 初学者 当我使用 DictReader 读取数据 然后使用字典时 我无法再次引用它 例如 使用以下代码 usr bin python import csv