Pandas读取文本文件为多列

要使用Pandas将文本文件读取为多列数据,你可以使用pandas.read_csv()函数,并通过指定适当的分隔符来确保正确解析文件中的数据并将其分隔到多个列中。

假设你有一个以逗号分隔的文本文件(CSV格式),每一行包含多个值,你可以这样读取它:

在这里插入图片描述

1、问题背景

当使用Pandas读取文本文件时,可能会遇到整行被读为一列的情况,导致数据无法正确解析。

2、解决方案

有两种常见的解决方案:

  1. 使用正确的分隔符:确保使用的分隔符与文本文件中的数据分隔符一致。在示例中,分隔符应为r’\s+'(一个或多个空格)。
  2. 使用delim_whitespace=True:设置delim_whitespace参数为True,Pandas会自动检测分隔符,并根据空格将文本文件中的数据分隔为多列。

下面是使用正确分隔符的示例代码:

import pandas as pd
from StringIO import StringIO

a = '''
TRE-G3T- Triumph-        0.000 11/06/2013 313585.10 1765.00000 11/06/2013 313600.10   41 20 54.57907  -70 38 14.25924      -30.400       -1.379   893059.006  2588821.543     2834.294   -19545.615      -45.849        0.985        1.058        3.399        3.694      -15.203        1.099   1.0000 6   6.37  4        0.000 I             -0.084     0.086    -0.059   0.000   0.000   0.000   363026.471  4578737.512      -30.400
TRE-G3T- Triumph-        0.000 11/06/2013 313585.20 1765.00000 11/06/2013 313600.20   41 20 54.61145  -70 38 14.22044      -30.332       -1.311   893061.933  2588824.850     2835.196   -19544.617      -45.779        0.944        1.015        3.313        3.592      -15.135       -3.365   1.4883 6   6.35  4        0.001 I              0.833    -0.485    -1.570   0.000   0.000   0.000   363027.391  4578738.493      -30.332
TRE-G3T- Triumph-        0.000 11/06/2013 313585.30 1765.00000 11/06/2013 313600.30   41 20 54.48685  -70 38 14.10862      -29.190       -0.169   893070.589  2588812.325     2837.797   -19548.465      -44.651        0.950        1.017        3.254        3.539      -13.994       -8.197   1.0000 6   5.70  4        0.001 I             -0.158     0.003     0.061   0.000   0.000   0.000   363029.917  4578734.602      -29.190
'''

df = pd.read_csv(StringIO(a), delimiter=r'\s+', header=None)

print(df.shape)
print(df.head())

输出结果:

(3, 42)
   0         1   2           3         4     5           6         7   \
0  TRE-G3T-  Triumph-   0  11/06/2013  313585.1  1765  11/06/2013  313600.1   
1  TRE-G3T-  Triumph-   0  11/06/2013  313585.2  1765  11/06/2013  313600.2   
2  TRE-G3T-  Triumph-   0  11/06/2013  313585.3  1765  11/06/2013  313600.3   

   8   9         10  11  12        13      14     15          16           17  \
0  41  20  54.57907 -70  38  14.25924 -30.400 -1.379  893059.006  2588821.543   
1  41  20  54.61145 -70  38  14.22044 -30.332 -1.311  893061.933  2588824.850   
2  41  20  54.48685 -70  38  14.10862 -29.190 -0.169  893070.589  2588812.325   

         18         19      
0  2834.294 -19545.615 ...  
1  2835.196 -19544.617 ...  
2  2837.797 -19548.465 ...  

[3 rows x 42 columns]

下面是使用delim_whitespace=True的示例代码:

import pandas as pd
from StringIO import StringIO

a = '''
TRE-G3T- Triumph-        0.000 11/06/2013 313585.10 1765.00000 11/06/2013 313600.10   41 20 54.57907  -70 38 14.25924      -30.400       -1.379   893059.006  2588821.543     2834.294   -19545.615      -45.849        0.985        1.058        3.399        3.694      -15.203        1.099   1.0000 6   6.37  4        0.000 I             -0.084     0.086    -0.059   0.000   0.000   0.000   363026.471  4578737.512      -30.400
TRE-G3T- Triumph-        0.000 11/06/2013 313585.20 1765.00000 11/06/2013 313600.20   41 20 54.61145  -70 38 1

所以说最终无论我们的文本文件使用何种分隔符,Pandas都提供了灵活的方式来读取它并将其解析为多列数据。今天的知识就介绍到这里,有啥问题可以截图留言讨论。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/676257.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

二分查找算法介绍(边界值、循环条件、值的变化、二分查找的原理、异常处理)

一、二分查找法原理介绍 二分查找是经典的查找算法之一,其原理也非常简单。 对于已排序的数组(假设是整型,如果非整型,如果有排序和大小比较的定义,也可以使用二分查找),我们每次判断中间值与目…

单位企业是如何禁用USB接口的(公司禁止USB接口的三大方法)

在当前信息化时代,单位企业对于数据安全的重视程度日益增加,尤其是防止通过USB接口导致的数据泄露和恶意软件传播。 为了构建一个更加安全的办公环境,许多企业采取措施禁用USB接口。 以下是公司禁止USB接口的三大常用方法: 1. 部…

AI绘画Stable Diffusion最新整合包,开源免费 AI 绘图工具神器,解压即用!

写在前面 众所周知现在的AI绘画可谓是热火朝天,前有国外的Midjourney,后有国内各大平台推出的 各种AI工具等,但是目前的这些线上的AI绘画都会有生成次数、时长等限制,有时候还得排队等待出图,所以免费开源的 Stable D…

大话设计模式解读01-简单工厂模式

本系列的文章,来介绍编程中的设计模式,介绍的内容主要为《大话设计模式》的读书笔记,并改用C语言来实现(书中使用的是.NET中的C#),本篇来学习第一章,介绍的设计模式是——简单工厂模式。 1 面向对象编程 …

989.数组形式的整数加法

对于非负整数 X而言&#xff0c;x的数组形式是每位数字按从左到右的顺序形成 的数组。例如&#xff0c;如果 X1231&#xff0c;那么其数组形式为[1,2,3,1]。 给定非负整数 X的数组形式 A&#xff0c;返回整数 X 的数组形式, #include <stdio.h> #include <stdlib.h>…

【面试经典150题】删除有序数组中的重复项||

目录 一.题目解析二.解法一三.解法二 一.题目解析 首先我们先看一下题目描述&#xff1a; 删除数组中的重复项的升级版要求&#xff0c;一个升序数组序列中&#xff0c;相同的元素最多出现两次。 二.解法一 首项我们先来看一种比较繁琐坑比较多的解法&#xff1a; class S…

JCR一区级 | Matlab实现TCN-BiLSTM-MATT时间卷积双向长短期记忆神经网络多特征分类预测

JCR一区级 | Matlab实现TCN-BiLSTM-MATT时间卷积双向长短期记忆神经网络多特征分类预测 目录 JCR一区级 | Matlab实现TCN-BiLSTM-MATT时间卷积双向长短期记忆神经网络多特征分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.JMatlab实现TCN-BiLSTM-MATT时间卷积双…

Spring Boot 整合开源 Tess4J库 实现OCR图片文字识别

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

Python | 试卷刷题and基础笔记

1.下列转义字符中&#xff0c; 属于“回车”含义的是 \n 换行 \r 回车 2.for循环遍历字典 在Python中&#xff0c;你可以使用for循环来遍历字典的键&#xff08;keys&#xff09;、值&#xff08;values&#xff09;或者键-值对&#xff08;items&#xff09;。下面是三种遍历…

RPA机器人未来的发展方向和趋势

在数字经济的大背景下&#xff0c;众多企业重新寻找自身的创新驱动力&#xff0c;数字化转型需求迎来爆发式增长。在强劲的数字化转型需求以及国家政策的推动下&#xff0c;RPA行业即将迎来更为有利的发展局面。Gartner预测&#xff0c;到2025年&#xff0c;超级自动化市场规模…

【JavaScript】---DOM操作1:获取元素

【JavaScript】—DOM操作1&#xff1a;获取元素 文章目录 【JavaScript】---DOM操作1&#xff1a;获取元素一、什么是DOM&#xff1f;1.1 概念1.2 图例演示 二、查找HTML元素2.1 getElementById()2.2 getElementsByTagName()2.3 getElementsByClassName()2.4 querySelector()2.…

成人本科毕业论文怎么写?分享自己的经验

撰写成人本科毕业论文是一个系统而深入的过程&#xff0c;以下是我个人的经验分享&#xff0c;希望能帮助你更好地完成这一任务&#xff1a; 1. 明确论文选题 兴趣与专长&#xff1a;选择自己感兴趣且有一定专长的领域&#xff0c;这样更容易深入研究。可行性&#xff1a;确保…

NocoDB开源的智能表格详解-腾讯文档本地替代品

文章目录 一、介绍二、docker-compose部署三、登录NocoDB四、NocoDB手册1. 创建项目2. 收集统计表2.1 添加字段2.2 编辑字段2.3 字段类型2.4 发布表格 3.创建表单3.1 创建表单3.2 分享表单3.3 填写检测单 4.创建看板5.创建画廊 一、介绍 可作为腾讯文档的本地电子表格替代品&a…

Springboot作业管理系统的设计与实现-计算机毕业设计源码98119

目 录 摘要 1 绪论 1.1研究背景 1.2研究现状 1.3springboot框架介绍 1.4论文结构与章节安排 2 作业管理系统系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 法律可行性分析 2.2 系统功能分析 2.2.1 功能性分析 2.2.2 非功能性分析 2…

论文摘要一般要写些什么内容?

论文摘要通常需要包含以下几个关键内容&#xff1a; 研究背景与目的&#xff1a;简要介绍研究的背景信息&#xff0c;包括研究领域的重要性、当前的研究现状以及存在的问题。然后&#xff0c;清晰地阐述研究的目的、研究问题或研究假设&#xff0c;让读者明白研究的出发点和意图…

python 各种画图(2D 3D)-1 _matplotlib 官方网站笔记

背景 需利用python进行3D可视化处理&#xff0c;用于分析python得到的数据的正确性。 知识学习 python高阶3D绘图---pyvista模块&#xff0c;mayavi模块&#xff0c;pyopengl模块&#xff0c;MoviePy模块基础使用-CSDN博客 python用于3D绘图的模块比较多&#xff0c;pyvist…

Apache Doris 基础 -- 数据表设计(表索引)

1、索引概述 索引用于帮助快速过滤或搜索数据。目前&#xff0c;Doris支持两种类型的索引:内置智能索引和用户创建的二级索引。 内置智能索引 排序键和前缀索引:Apache Doris基于排序键以有序的方式存储数据。它为每1024行数据创建一个前缀索引。索引中的键是当前1024行组的…

2024码蹄杯初赛 拔河(非二分解法)

AK选手前来补充一发邪典&#xff08;水数据&#xff09;写法 题面&#xff1a; 简单来说就是给你一个序列&#xff0c;让你选择一段连续区间&#xff0c;使得这个区间平均值最大&#xff0c;同时区间长度大于等于F。 很显然对于区间求和直接用前缀和优化到O(1)&#xff0c;但是…

代码随想录 day 26

回溯 组合总和 题意&#xff1a;一个无重复元素的整数数组&#xff1b;一个目标整数target&#xff1b; 找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff1b;并以列表形式返回。candidates 的同一个数字可以无限制重复被选取。 思路&#xff1a;因为…

半导体光子电学期末笔记2: 光子晶体 Photonic crystals

光子晶体概述 光子晶体定义和分类 [P4-5] 光子晶体是一种在一维、二维或三维空间内周期性排列的多层介质。这些结构通过在光子尺度上排列的重复单元&#xff0c;可以对光进行调控和控制。具体来说&#xff0c;光子晶体是指那些在空间上具有周期性排列的介质结构&#xff0c;它…