如何使用 python 选择 CSV 文件中的每第 N 行

2024-06-22

我有一个包含数百行的 CSV 文件,我想选择每 3 行并将其导出到一个新的 CSV 文件,新的输出 CSV 文件以所选内容的第一行命名。

例如在以下 CSV 文件中......

1980 10 12            
1  2  3  4  5  6  7       
4  6  8  1  0  8  6  
1981 10 12
2  4  9  7  5  4  1  
8  9  3  8  3  7  3

我想选择前 3 行并根据第一行导出到名为“1980 10 12”的新 CSV,然后选择接下来的 3 行并根据第一行导出到名为“1981 10 12”的新 CSV接下来的 3 行。我想使用 python 来做到这一点。


使用csv module https://docs.python.org/2/library/csv.html, plus itertools.islice() https://docs.python.org/2/library/itertools.html#itertools.islice每次选择 3 行:

import csv
import os.path
from itertools import islice


with open(inputfilename, 'rb') as infh:
    reader = csv.reader(infh)
    for row in reader:
        filename = row[0].replace(' ', '_') + '.csv')
        filename = os.path.join(directory, filename)
        with open(filename, 'wb') as outfh:
            writer = csv.writer(outfh)
            writer.writerow(row)
            writer.writerows(islice(reader, 2))

The writer.writerows(islice(reader, 2))line 首先将当前行(带有日期)写入输出文件后,从读取器获取接下来的 2 行,将它们复制到写入器 CSV。

您可能需要调整delimiter论证csv.reader() and csv.writer()物体;默认是逗号,但您没有指定确切的格式,也许您需要将其设置为'\t'选项卡代替。

如果您使用的是 Python 3,请使用以下命令打开文件'r' and 'w'文本模式,并设置newline=''对彼此而言;open(inputfilename, 'r', newline='') and open(filename, 'w', newline='').

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

如何使用 python 选择 CSV 文件中的每第 N 行 的相关文章

  • Keras 中的 load_model 和 Lambda 层

    如何加载具有 lambda 层的模型 这是重现行为的代码 MEAN LANDMARKS np load data mean shape 68 npy def add mean landmarks x mean landmarks np ar
  • Python生成随机数时出现属性错误

    我早些时候就同一段代码提出了类似的问题 但我再次发现自己陷入困境 特别是生成包含两个字母 两个数字 然后两个字母的车牌 我希望这个问题不是重复的 但在这种情况下 我非常不知道该怎么做 这是到目前为止的代码 我希望你能找出我哪里出错了 fro
  • 使用seaborn,我如何在散点图上画一条我选择的线?

    我希望能够在seaborn 生成的图中画出一条符合我规范的线 我选择的图是 JointGrid 但任何散点图都可以 我怀疑seaborn可能不容易做到这一点 以下是绘制数据的代码 来自 Iris 数据集的花瓣长度和花瓣宽度的数据帧 impo
  • 将鼠标悬停在 Folium 的弹出窗口中

    用这样一个简单的例子 import folium map 1 folium Map location 45 372 121 6972 zoom start 12 tiles Stamen Terrain folium Marker 45 3
  • Python + Selenium:驱动程序路径

    是否有可能在不输入路径的情况下运行 Python Selenium 脚本exePython 行中每个脚本中的文件 driver webdriver Chrome 同样的问题也适用于 IE 驱动程序 Edge 驱动程序 和 Gecko 驱动程
  • Tastypie:GET 的身份验证和 POST 的匿名

    我使用 Django Tastypie 来管理我的用户集合 是否可以允许匿名用户在 API 中发布 在某个端点创建新用户时 并限制经过身份验证的用户仅获取自己的用户 而不是所有用户 感谢您的帮助 我发现最简单的事情就是对我正在使用的身份验证
  • AMLS 实验运行停留在“正在运行”状态

    我运行了 Azure 机器学习服务实验 并使用 Jupyter Notebook 记录了神经网络损失 日志记录工作正常 神经网络训练也按预期完成 但实验一直停留在运行状态 关闭计算资源不会关闭实验运行 我无法从实验面板取消它 此外 运行没有
  • 在Python中绘制像素的最佳方法[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我想知道 用 x 和 y 值在 python 中绘制像素的最简单方法是什么 可能最简单的方法是使用PIL http effbot org i
  • OSMNX - 边缘的哪个“部分”被认为是最近的

    我正在使用 OSMNX 中的 returned edges 函数 我不清楚在进行此计算时使用边缘的哪个 部分 它是边缘的任何部分吗 是中间点吗 对于网络中的长边来说 这会产生很大的差异 这取决于您如何参数化该函数 来自nearest edg
  • 从 paramiko 获取 PID

    我找不到一个简单的答案 我正在使用 paramiko 远程登录并执行多个进程 我需要每个进程的 PID 以便稍后检查它们 paramiko 中似乎没有函数来获取执行命令的 PID 所以我尝试使用以下命令 stdin stdout stder
  • 缓存 pandas 数据框的最佳方法?

    昨天 我经历了惨痛的教训 将 pandas 数据帧保存到 csv 以供以后使用是一个坏主意 我有一个包含 130k 条推文的数据框 其中数据框的一行是list的推文 当我将数据保存到 CSV 然后重新加载数据帧时 数据帧的行现在是字符串类型
  • 在 SQLAlchemy 中删除父级后删除子级

    我的问题如下 我有两个型号Entry and Tag通过 SQLAlchemy 中的多对多关系链接 现在我想删除所有Tag没有任何对应的Entry后Entry被删除 示例来说明我想要的内容 Entry 1带标签python java Ent
  • 如何设置 pandas DataFrame _repr_html_ 方法的默认样式?

    我有一个 pandas DataFrame 其中有一列是 url 并且我编写了以下格式化程序以将其作为链接呈现在我的笔记本中 def make clickable val target blank to open new window re
  • python中matlab find函数的替换

    我正在尝试寻找合适的python函数来替代matlabfind在我的脚本和一些谷歌搜索中我看到np where 大多数时候都能解决目的 但在双重条件的情况下 我有不同的输出 有人可以告诉我这种方法有什么问题以及如何继续吗 示例代码和差异如下
  • 在 ubuntu 12.04 上安装 ReviewBoard

    我正在尝试使用 easy install 在 ubuntu 12 04 上安装 ReviewBoard http www reviewboard org docs manual 1 7 admin installation linux ht
  • 是否可以通过 Python 使用 Cocoa API?

    我想知道是否可以将 Cocoa Apple 的 API 与 Python 一起使用 以便能够运行像这样的任何代码link https developer apple com documentation appkit nsworkspace
  • 从线程队列中获取所有项目

    我有一个线程将结果写入队列 在另一个线程 GUI 中 我定期 在 IDLE 事件中 检查队列中是否有结果 如下所示 def queue get all q items while 1 try items append q get nowai
  • Python Blowfish 加密

    由于我对 Java 的了解不完整 我正在努力将此加密代码转换为 Python 代码 两者应该得到完全相同的结果 帮助将不胜感激 Java函数 import javax crypto Cipher import javax crypto sp
  • 命名空间与常规包

    命名空间 Python 包之间有什么区别 没有 init py 和一个常规的Python包 有一个 init py 特别是当 init py普通包裹是空的吗 我很好奇 因为最近我忘记了 init py在我制作的包中 我从未注意到任何问题 事
  • Dash ImportError:无法从“werkzeug.debug.tbtools”导入名称“get_current_traceback”

    我正在尝试在 Pycharm 的 conda 环境中运行一个简单的破折号应用程序 但是我遇到了标题中的错误 奇怪的是 我在互联网上找不到提到这个错误的地方 除了here https community plotly com t dash w

随机推荐