如何使用Pandas用特殊标记逐段读取Txt文件?

2024-03-28 13:03:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用Pandas分析s结构分析软件输出的文本文件。 该文件有24000多行,可以分解为多个部分,每个部分以$开头,例如:

$ STORIES - IN SEQUENCE FROM TOP
  STORY "PLATFORM"  HEIGHT 51.9996 
  STORY "BULKHEAD"  HEIGHT 117 
  STORY "EMR"  HEIGHT 124.9992 
  STORY "Roof"  HEIGHT 140.0004 SIMILARTO "41st FL"  

$ GRIDS
  GRIDSYSTEM "G1"  TYPE "CARTESIAN"  BUBBLESIZE 60 
  GRID "G1"  LABEL "g"  DIR "X"  COORD -1068 VISIBLE "Yes"  BUBBLELOC "End"  
  GRID "G1"  LABEL "d"  DIR "X"  COORD -586 VISIBLE "Yes"  BUBBLELOC "End"  
  GRID "G1"  LABEL "d.3"  DIR "X"  COORD -460 VISIBLE "Yes"  BUBBLELOC "End" 

我可以用pd.read_csv文件并为每个参数指定skip_row参数,但是当文本文件很大时,这是非常重复和愚蠢的。 由于输出文件的格式非常好,有没有一种方法可以将文本文件解析为以$…..为标题的部分,并创建一个pd数据帧对于$…..以下的行。。。?在

我想这可能有用,但我必须指定txt的数量:

^{pr2}$

另外,我能指定一个regex规则来标记吗?在


Tags: 文件参数dirlabelgridyesendpd
1条回答
网友
1楼 · 发布于 2024-03-28 13:03:39

您可以使用split函数生成节(并且不必指定txt的数量)。split函数返回一个list对象。每一个元素都代表一个部分。在

sections = txt.split("$")

现在您可以遍历列表。在

^{pr2}$

有关详细信息,请阅读有关拆分函数here的文档。在

相关问题 更多 >