Python-替换 CSV 文件中的行值

2024-03-25

我有这个数据集:

['XXXX-XXXX', '0']
['XXXX-XXXX', '0']
['XXXX-XXXX', '0']
['XXXX-XXXX', '0']
['XXXX-XXXX', '0']
['XXXX-XXXX', '0']
['XXXX-XXXX', '0']
['XXXX-XXXX', '0']

基本上我想在每次运行程序后将第二个字段“0”逐渐更改为“1”,如下所示:

['XXXX-XXXX', '1'] # first run
['XXXX-XXXX', '0']
['XXXX-XXXX', '0']
['XXXX-XXXX', '0']
['XXXX-XXXX', '0']
['XXXX-XXXX', '0']
['XXXX-XXXX', '0']
['XXXX-XXXX', '0']

['XXXX-XXXX', '1'] # second run
['XXXX-XXXX', '1']
['XXXX-XXXX', '0']
['XXXX-XXXX', '0']
['XXXX-XXXX', '0']
['XXXX-XXXX', '0']
['XXXX-XXXX', '0']
['XXXX-XXXX', '0']

['XXXX-XXXX', '1'] # eigth run
['XXXX-XXXX', '1']
['XXXX-XXXX', '1']
['XXXX-XXXX', '1']
['XXXX-XXXX', '1']
['XXXX-XXXX', '1']
['XXXX-XXXX', '1']
['XXXX-XXXX', '1']

应直接编辑 .csv 文件。我对如何解决这个问题一无所知,我是一个Python新手..


这里有一些东西可以帮助您朝着正确的方向前进。

with open('path/to/filename') as filehandler_name:
    # this is how you open a file for reading

with open('path/to/filename', 'w') as filehandler_name:
    # this is how you open a file for (over)writing
    # note the 'w' argument to the open built-in

import csv
# this is the module that handles csv files

reader = csv.reader(filehandler_name)
# this is how you create a csv.reader object
writer = csv.writer(filehandler_name)
# this is how you create a csv.writer object

for line in reader:
    # this is how you read a csv.reader object line by line
    # each line is effectively a list of the fields in that line
    # of the file.
    # # XXXX-XXXX, 0 --> ['XXXX-XXXX', '0']

对于小文件,您可以执行以下操作:

import csv

with open('path/to/filename') as inf:
    reader = csv.reader(inf.readlines())

with open('path/to/filename', 'w') as outf:
    writer = csv.writer(outf)
    for line in reader:
        if line[1] == '0':
            writer.writerow(line[0], '1')
            break
        else:
            writer.writerow(line)
    writer.writerows(reader)

对于大文件inf.readlines将终止您的内存分配,因为它将整个文件一次拉入内存,您应该执行以下操作:

import csv, os

with open('path/to/filename') as inf, open('path/to/filename_temp', 'w') as outf:
    reader = csv.reader(inf)
    writer = csv.writer(outf)
    for line in reader:
        if line[1] == '0':
           ...
        ... # as above

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

Python-替换 CSV 文件中的行值 的相关文章

随机推荐

  • 继承自 std::vector

    这里有很多答案说不要从 std vector 等继承 例如这个问题 https stackoverflow com questions 10353954 potential problems with inheriting from std
  • Asp.net 4.0:如何获取自定义错误页面中的异常详细信息?

    我们正在使用 asp net 配置设置提供的自定义错误 在整个应用程序 PL BLL DAL 中 我们没有使用任何 try catch 因此 对于任何层应用程序中的任何异常 都将用户重定向到配置文件中自定义错误设置中设置的自定义错误页面 现
  • Kafka Streams - SerializationException:未知的魔术字节

    我正在尝试创建一个处理 Avro 记录的 Kafka Streams 应用程序 但出现以下错误 Exception in thread streams application c8031218 8de9 4d55 a5d0 81c30051
  • WebSockets ping/pong,为什么不 TCP keepalive?

    WebSockets有选择权 https www rfc editor org rfc rfc6455 section 5 5 2发送 ping 到另一端 另一端应该用 pong 响应 收到 Ping 帧后 端点必须发送 Pong 帧 响应
  • Selenium 在 Firefox 中使用过多 RAM

    我在 Firefox 中使用 selenium 来自动执行 Instagram 上的一些任务 它基本上在用户配置文件和通知页面之间来回切换 并根据找到的内容执行任务 它有一个无限循环来确保任务继续进行 我每隔几步就有 sleep 函数 但内
  • 即使用户也可以访问需要限制的APEX页面

    我创建了一个 4 页的应用程序 Home 管理页面 计算体重指数 About 然后我进入 gt shared components gt Select Authorization schema gt Create 我已将其命名为only a
  • Visual Studio 2012 的数据库资源管理器中缺少图表文件夹

    我正在设计一个网站 突然数据库图表文件夹从数据库资源管理器中消失了 我不知道发生了什么以及现在该怎么做 因为我迫切需要它来继续我的工作 手动将表添加到数据库对我来说不是一个选择 我找了一整天的解决方案 甚至重新安装了Visual Studi
  • React-ReduxReducers 中 Spread 语法的用途

    我试图理解扩展运算符的目的 根据我从文档中了解到的 扩展语法会复制现有对象 并在传入新对象时被覆盖 在下面的代码中 export default function reducer state user fetching false fetc
  • 使用 python 进行实时 mp3 ffmpeg 编码器时出错

    我有如下代码 我想录制声音并将每个 wav 帧转换为 mp3 格式 使用 ffmpeg 实时 import pyaudio sys import subprocess command ffmpeg y f wav i f mp3 proce
  • C/C++ va_list 未正确返回参数

    我在使用 va list 时遇到问题 下面的代码适用于 int main int f1 1 float m function n f1 float function int n va list mem list va start mem l
  • 有没有更短更简洁的方法来用Javascript隐藏和显示div?

    我正在创建一个仪表板 其中包含大约 20 个以 display none 开头的 div 当使用侧边栏中的 onClick 时 它将显示特定的 div 并隐藏所有其他 div 我使用了为每个 div 创建一个函数的经典解决方案 但是 它非常
  • 为什么我的输入值没有用 React 更新?

    我的组件中有以下代码 当我更新某些内容时 它会被调用 从而替换 UI 中的一堆内容 除了用户看到的输入值之外 所有内容都在更新 let input id discount geo segment value percentage disab
  • Javascript,从“”中删除类的最快方法

    我有一个 body 元素 在上面添加了一些类 我想删除no javascript在浏览器读取它之后 从中获取类 好吧 既然之间的额外空格并不重要 我会说 document body className document body class
  • 如何在 Jetpack Compose 中监听生命周期

    我正在使用 Jetpack Compose 创建一个应用程序 该应用程序在后台进行一些网络搜索 如果用户决定按后退按钮 我想取消搜索 所以我用了DisposableEffect Composable fun SecondScreen val
  • 操作栏上没有显示操作按钮? [复制]

    这个问题在这里已经有答案了 我正在关注以下教程开发者 android com http developer android com并尝试在操作栏上添加项目 尽管我添加了所有代码 但搜索操作显示为溢出元素而不是操作按钮元素 我尝试了带有软键盘
  • 从 MySQL 中选择随机行(有概率)

    我有一个 MySQL 表 其中有一行名为 cur odds 它是一个百分比数字 表示该行被选中的百分比概率 例如 当您运行 100 个查询时 如何进行查询以大约该频率实际选择行 我尝试了以下操作 但概率为 0 35 的行最终在大约 60 7
  • 在 cordova/on android 应用程序中,使用 https 的请求失败,但使用 http 的相同请求成功

    我有一个可以通过两个端口访问的后端服务器 一个使用 HTTP 另一个使用 HTTPS 它使用自签名证书 从我的 ionic cordova 混合应用程序中 当我使用 HTTP 请求运行时 它们都成功了 在第一次请求期间 我还添加了基本授权
  • jquery mobile在手机间隙中实现方向改变事件

    有人可以让我知道手机间隙中 jquery mobile 方向改变事件的正确代码吗 我在哪里以及如何实现这个orientationChange函数 window bind orientationchange orientationHandle
  • Python Selenium(等待帧、元素查找)

    我有这些包括 from selenium import webdriver from selenium common exceptions import NoSuchElementException from selenium webdri
  • Python-替换 CSV 文件中的行值

    我有这个数据集 XXXX XXXX 0 XXXX XXXX 0 XXXX XXXX 0 XXXX XXXX 0 XXXX XXXX 0 XXXX XXXX 0 XXXX XXXX 0 XXXX XXXX 0 基本上我想在每次运行程序后将第二