所以我有一个地震实验机输出的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/