在pandas中读取csv时自动确定标题行

2024-04-18

我正在尝试从共享相同列名称的不同 .csv 文件收集数据。但是,某些 csv 文件的标题位于不同的行中。

有没有办法根据包含“大多数”值(实际标题名称)的第一行动态确定标题行?

我尝试了以下方法:

def process_file(file, path, col_source, col_target):
    global df_master
    print(file)
    df = pd.read_csv(path + file, encoding = "ISO-8859-1", header=None)
    df = df.dropna(thresh=2) ## Drop the rows that contain less than 2 non-NaN values. E.g. metadata
    df.columns = df.iloc[0,:].values
    df = df.drop(df.index[0])

然而,当使用pandas.read_csv(),似乎第一个值决定了实际数据帧的大小,因为我收到以下错误消息:

pandas.errors.ParserError:标记数据时出错。 C 错误:预期 1 第 4 行的字段,锯 162

正如您在本例中所看到的,标题行将位于第 4 行。 添加时error_bad_lines=False对于 read_csv,只有元数据会被读入数据帧。

这些文件可以具有以下结构:

一个“普通”文件:

row1    col1   col2    col3    col4   col5   
row2    val1   val1    val1    val1   val1
row3    val2   val2    val2    val2   val2   
row4

或标题前带有元数据的结构:

row1   metadata1    
row2   metadata2
row3   col1   col2    col3    col4   col5
row4   val1   val1    val1    val1   val1

非常感谢任何帮助!


恕我直言,如果暂时忘记熊猫,最简单的方法是:

  • 您将文件作为文本文件打开以供阅读
  • you start parsing it line by line, guessing whether the line is
    • 元数据标头
    • 真正的标题行
    • 数据线

一种简单的方法是将所有从真实标题行开始的行连接到一个字符串中(让我们称之为buffer),然后使用pd.read_csv(io.StringIO(buffer), ...)

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

在pandas中读取csv时自动确定标题行 的相关文章

  • Pandas:GroupBy 到 DataFrame

    参考这个关于 groupby 到 dataframe 的非常流行的问题 https stackoverflow com questions 10373660 converting a pandas groupby object to dat
  • 保留完整姓氏,在 pandas 列中获取名字的首字母(如果有的话,还有中间名)

    我有一个 pandas 数据框 其中有一列表示几位网球运动员的姓氏和姓名 如下所示 Player 0 Roddick Andy 1 Federer Roger 2 Tsonga Jo Wilfred 我想保留完整的姓氏并获取姓名的首字母和中
  • 删除 Django 1.7 中的应用程序(和关联的数据库表)

    是否可以使用 Django 1 7 迁移来完全删除 卸载应用程序及其所有跟踪 主要是其所有数据库表 如果没有 在 Django 1 7 中执行此操作的适当方法是什么 python manage py migrate
  • Mac OS X 中文件系统的 Unicode 编码在 Python 中不正确?

    在 OS X 和 Python 中处理 Unicode 文件名有点困难 我试图在代码中稍后使用文件名作为正则表达式的输入 但文件名中使用的编码似乎与 sys getfilesystemencoding 告诉我的不同 采取以下代码 usr b
  • 在没有模型的情况下将自定义页面添加到 django admin

    我正在尝试在没有模型关联的情况下向管理员添加自定义页面 这就是我迄今为止所取得的成就 class MyCustomAdmin AdminSite def get urls self from django conf urls import
  • 一段时间后终止线程的最 Pythonic 方法

    我想在线程中运行一个进程 它正在迭代一个大型数据库表 当线程运行时 我只想让程序等待 如果该线程花费的时间超过 30 秒 我想终止该线程并执行其他操作 通过终止线程 我的意思是我希望它停止活动并优雅地释放资源 我认为最好的方法是通过Thre
  • 结构差异 sudo() run('sudo 命令')

    我想知道函数之间有什么区别sudo 和函数run sudo u user smth 文档上有 sudo 在所有运行方式上都是相同的 除了它总是换行 调用 sudo 程序中的给定命令以提供超级用户 特权 但有几次 sudo cmd 提示我输入
  • Gspread如何复制sheet

    在 Stackoverflow 上进行谷歌搜索和搜索后 我想我找不到有关如何复制现有工作表 现有模板工作表 并将其保存到另一个工作表中的指南 根据文档 有重复表 https gspread readthedocs io en latest
  • Python新式类和__subclasses__函数

    有人可以向我解释为什么这有效 在 Python 2 5 中 class Foo object pass class Bar Foo pass print Foo subclasses 但这不是 class Foo pass class Ba
  • 使用 python 绘制正值小提琴图

    我发现小提琴图信息丰富且有用 我使用 python 库 seaborn 然而 当应用于正值时 它们几乎总是在低端显示负值 我发现这确实具有误导性 尤其是在处理现实数据集时 在seaborn的官方文档中https seaborn pydata
  • 如何在 pandas 中使用 read_fwf 跳过空行?

    I use pandas read fwf http pandas pydata org pandas docs stable generated pandas read fwf htmlPython pandas 0 19 2 中的函数读
  • 使用“默认”环境变量启动新的子进程

    我正在编写一个构建脚本来解析依赖的共享库 及其共享库等 这些共享库在正常情况下是不存在的PATH环境变量 为了使构建过程正常工作 让编译器找到这些库 PATH已更改为包含这些库的目录 构建过程是这样的 加载器脚本 更改 PATH gt 基于
  • 返回表示每组内最大值的索引的一系列数字位置

    考虑一下这个系列 np random seed 3 1415 s pd Series np random rand 100 pd MultiIndex from product list ABDCE list abcde One Two T
  • 在 keras 中保存和加载权重

    我试图从我训练过的模型中保存和加载权重 我用来保存模型的代码是 TensorBoard log dir output model fit generator image a b gen batch size steps per epoch
  • Anaconda 无法导入 ssl 但 Python 可以

    Anaconda 3 Jupyter笔记本无法导入ssl 但使用Atom终端导入ssl没有问题 我尝试在 Jupyter 笔记本中导入 ssl 但出现以下错误 C ProgramData Anaconda3 lib ssl py in
  • 在系统托盘中隐藏 tkinter 窗口 [重复]

    这个问题在这里已经有答案了 我正在制作一个程序来提醒我朋友的生日 这样我就不会忘记祝福他们 为此 我制作了两个 tkinter 窗口 1 First one is for entering name and birth date 2 Sec
  • 从 NumPy 数组到 Mat 的 C++ 转换 (OpenCV)

    我正在围绕 ArUco 增强现实库 基于 OpenCV 编写一个薄包装器 我试图构建的界面非常简单 Python 将图像传递给 C 代码 C 代码检测标记并将其位置和其他信息作为字典元组返回给 Python 但是 我不知道如何在 Pytho
  • 在 Django 查询中使用 .extra(select={...}) 引入的值上使用 .aggregate() ?

    我正在尝试计算玩家每周玩游戏的次数 如下所示 player game objects extra select week WEEK games game date aggregate count Count week 但姜戈抱怨说 Fiel
  • python 线程安全可变对象复制

    Is 蟒蛇的copy http docs python org 2 library copy html模块线程安全吗 如果不是 我应该如何在 python 中以线程安全的方式复制 deepcopy 可变对象 蟒蛇的GIL http en w
  • 多个对象以某种方式相互干扰[原始版本]

    我有一个神经网络 NN 当应用于单个数据集时 它可以完美地工作 但是 如果我想在一组数据上运行神经网络 然后创建一个新的神经网络实例以在不同的数据集 甚至再次同一组数据 上运行 那么新实例将产生完全错误的预测 例如 对 XOR 模式进行训练

随机推荐

  • 为什么比较器声明等于?

    比较器接口有自己的equals 方法 任何班级都会得到equals 默认情况下通过 Object 类 需要具备什么equals 接口内的方法 Comparator细化合同Object equals 它必须满足以下规定的约束Object eq
  • 从 PHP 读取 Git 提交消息

    我正在寻找一种使用 PHP 读取 Git 提交消息的方法 我怀疑我需要使用 Git hook 但我以前从未使用过它们 所以我需要一个push朝着正确的方向 具体来说 我想实现以下流程 每次提交后都会自动执行 PHP 脚本 该脚本捕获 Git
  • WebRTC 与 python

    我想用 python twisted 制作一个流服务器 它接收 WebRTC 视频流 然后对其应用一些 OpenCV 算法 但是我找不到 WebRTC 的 python 模块 如何使用 python twisted 发送和接收 WebRTC
  • 在elasticsearch中截断索引

    等效操作是什么elasticsearch为了做 TRUNCATE mytable 我要截断的索引称为 myindex 换句话说 在操作之后 我希望索引 myindex 中有零个文档 您需要删除索引 然后重新创建它 虽然这需要您再次设置映射
  • Android中如何根据POJO类的类项在CustomListView中实现搜索?

    我有一个自定义列表视图 我必须显示来自网络服务器的数据 我需要根据 EditText 的输入实现搜索 ListView 中的每一行包含图像 标题和消息 图像根据 Web 服务器的响应进行更改 看一下代码 class CustomListVi
  • WPF 中未显示按钮的背景图像

    我有一个程序 其中有很多按钮 每个按钮的背景设置为
  • 检测 PHP 中的 Ajax

    我正在尝试将 ajax 发布到同一个 php 页面 Ajax loginForm submit function e e preventDefault var postData this serialize post login php p
  • OpenGL ES 2.0 通过共享 C++ 代码在 ios 和 android 上进行抗锯齿或平滑处理

    我对 OpenGL 和 ES2 0 还很陌生 我共享了c opengl es2代码 我用它在ios和android上绘制 使用ndk CMake 它大部分都可以工作 但现在我需要抗锯齿并且它有点令人困惑 我看到的解决方案是依赖于平台和and
  • 类型错误:无法连接电子邮件中的“str”和“list”对象

    我正在用 python 发送电子邮件 现在 我想通过电子邮件发送列表中的条目 但遇到错误 TypeError 无法连接 str 和 list 对象 我不知道如何调试它 以下是我的代码 我对这门语言还是新手 三周 所以我有一些背景知识 imp
  • Symfony2 中的 LDAP 集成

    我是 symfony 和 LDAP 的新手 有没有在 symfony2 中集成 LDAP 的分步教程或视频 我不知道有关 Symfony2 中 LDAP 的任何教程或视频 但这里有我在许多项目中使用的 2 个包 OpenSkyLdapBun
  • Snowflake支持索引吗?

    在 Snowflake 文档中 我找不到使用索引的参考 Snowflake 是否支持索引 如果不支持 使用 Snowflake 时性能调整的替代方法是什么 Snowflake 不使用索引 这是使 Snowflake 对于任意查询具有良好扩展
  • 适用于 Windows 的 NPM 包“bin”脚本

    Cucumber js 提供了一个命令行 二进制文件 这是一个简单的 js文件包含一个shebang操作说明 usr bin env node var Cucumber require lib cucumber 二进制文件在中指定packa
  • 非常非常大的 C# 浮点数

    我正在做一些人口建模 为了好玩 主要是为了玩弄承载能力和物流功能的概念 该模型适用于多个行星 目前大约有 100 000 个 当一个星球上的人口达到承载能力时 居民就会开始向附近的星球扩张 依此类推 问题 100 000 多个行星可以容纳很
  • 如何在 RMarkdown 中渲染 wordcloud2 的输出

    我怎样才能确保输出wordcloud2 wordcloud2 出现在我的 RMarkdown HTML 文档中 它在 RStudio 中渲染得很好 包括在 RMarkdown 文档的预览中 但是当我使用 blogdown 将其上传到我的 n
  • MySql 将值从一行复制到另一行

    这应该是非常基本的 但我无法弄清楚 有一个表 值 entity attribute value frank shirt red frank hat green sam shirt blue sam hat orange 我如何将同一个人的所
  • .Net Framework dll 不适用于 .Net Standard 项目

    我已经参考了 Net框架 ddl to Net标准2 0 它会向我显示以下错误 System Reflection ReflectionTypeLoadException Unable to load one or more of the
  • 复选框值始终为“打开”[重复]

    这个问题在这里已经有答案了 这是我的复选框 HTML
  • C# - 转换日期时间格式 yyyy-MM-dd [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在尝试将日期时间格式从 dd M
  • nock 库 - 如何匹配任何 url

    嗨 我正在尝试箭库 https github com flatiron nock blob master README md但正在努力匹配查询字符串上的随机模式 我认为类似下面的代码应该可以工作 但我无法让任何东西工作 var nock r
  • 在pandas中读取csv时自动确定标题行

    我正在尝试从共享相同列名称的不同 csv 文件收集数据 但是 某些 csv 文件的标题位于不同的行中 有没有办法根据包含 大多数 值 实际标题名称 的第一行动态确定标题行 我尝试了以下方法 def process file file pat