python - Pandas 读取了分隔的 txt 文件的一部分

标签 python pandas input text-files delimiter

所以我有一个地震实验机输出的txt文件:

23      (-9.144,  2.7432,  0) [HybridDamper/Floor 1 Disp m,--,--] #ffffff
24      (-4.572,  0,       0) #ffffff
# End Node section
===
# Begin Member section
gl gr #eeeeee
23 D1 yellow

所以有一个#End Node section,===,#Begin Member section将输出的两部分分开。 我想创建两个数据框,一个用于上面的部分,另一个用于下面的部分。

如果不手动编辑机器的输出文件(当结构很大时这并不容易),是否可以让 pandas 从 .txt 文件中识别部分分隔符(例如,这些行从 #、= 开始)?

谢谢大家! 最好的 肖恩

最佳答案

from io import StringIO
import pandas as pd

with open('mytext.txt') as f:
    txt = f.read()

marker = '# End Node section\n===\n# Begin Member section'
txt1, txt2 = txt.split(marker)

df1 = pd.read_csv(StringIO(txt1), header=None, sep='|')
df2 = pd.read_csv(StringIO(txt2), header=None, sep='\s+', engine='python')

关于python - Pandas 读取了分隔的 txt 文件的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44191497/

相关文章:

python - 在同一脚本中读取和写入

Python多索引: Changing second level of index names

python - 通过尖括号参数访问加载的文件

html - IE6/FF3 中自定义高度输入 [type=button] 的奇怪填充更改

python - 使用 groupby() 根据条件对实例进行计数

python - 如何将年份和日期转换为日期?

python - 如何保护 Python 分布式计算层

python - 使用 Pandas 从 csv 文件中读取标题信息

python - 使用 pandas 的 TimeGrouper() 以 1 秒为间隔查找列数

c - 使用gets函数在数组中输入字符串