python - 熊猫读取具有不同列数的多个表
问题描述
如果这听起来像是一个重复的问题,我深表歉意,我发现了许多关于这个主题的相关帖子,但似乎没有一个为我的特定版本提供解决方案。我正在尝试读取一个空格分隔的表格数据文件,其中两个不同的表在整个文件中交替出现。这是一个示例
Test abc ...
Date xx/xx/xx
Timestep 0
No. u v w x
1 0.00E+00 0.00E+00 0.00E+00 0.00E+00
9 0.00E+00 0.00E+00 0.00E+00 0.00E+00
18 0.00E+00 0.00E+00 0.00E+00 -3.00000E+02
27 0.00E+00 0.00E+00 0.00E+00 -3.00000E+02
....
Timestep 0 (some more columns
No. g h i
1 0.00E+00 0.00E+00 0.00E+00
9 0.00E+00 0.00E+00 0.00E+00
18 0.00E+00 0.00E+00 0.00E+00
27 0.00E+00 0.00E+00 0.00E+00
......
Timestep 1
No. u v w x
1 0.00E+00 0.00E+00 0.00E+00 0.00E+00
9 0.00E+00 0.00E+00 0.00E+00 0.00E+00
18 0.00E+00 0.00E+00 0.00E+00 -3.00000E+02
27 0.00E+00 0.00E+00 0.00E+00 -3.00000E+02
....
Timestep 1 (some more columns)
No. g h i
1 0.00E+00 0.00E+00 0.00E+00
9 0.00E+00 0.00E+00 0.00E+00
18 0.00E+00 0.00E+00 0.00E+00
27 0.00E+00 0.00E+00 0.00E+00
......
并且上述模式在整个文件中交替重复。将这些数据读入熊猫数据框的最佳方法是什么?
解决方案
只是想在这里添加我的解决方案,即:
- 首先阅读带有额外填充列的整个内容(表格),以适应更长的文本行;
- 然后迭代并读取两个不同的表(基于给定的行数)到两个不同的数据帧中(跳过标题行);
- 最后删除在第一步中添加的填充列并为列命名。
推荐阅读
- javascript - 在元素上触发 JQuery blur() 时,AddEventListener blur 不起作用
- python - Bot 无法在文本文件中使用多个令牌
- java - 在 Windows 10 笔记本电脑上启用 WiFi 时,Gradle 7.1.1 守护程序失败
- python - 如何根据索引将某个值分配给熊猫数据框中的新列
- javascript - 无法在 chrome 扩展中加载默认图标
- elasticsearch - Searchkick::ImportError ({"type"=>"cluster_block_exception", 只读/允许删除 (api)];"}
- c# - Razorsharp,C# + HTML:组合框,您还可以在其中键入自定义字符串输入
- python - Discord.py 避免阻塞 on_message 方法
- html - 仅在 Firefox 中内容后的空格
- r - DT 代理不显示数据