【发布时间】:2020-07-28 18:13:23
【问题描述】:
我读入了一个具有自定义数据格式的大型文本文件,如下所示:
file_object = open(file, "r")
contents = file_object.read()
打印内容会给出这样的结果(整个“对象”只是一个带有新行的字符串):
object name {
# Data Type 1
burgers [taste="good" type="food"];
sushi [taste="good" type="food"];
# Data Type 2
NYC [population="300" type="urban"];
# Data Type 3
NYC -> CHI [distance="15.0"];
LA -> SF [distnace="2.0"];
}
数据分为 3 个部分,用 # 表示。数据在部分内部/之间可能有不一致的新行,所以我想先删除所有空的换行符,然后我想了解如何删除每行数据前面的制表符/空格,就像这样。
object name {
# Data Type 1
burgers [taste="good" type="food"];
sushi [taste="good" type="food"];
# Data Type 2
NYC [population="300" type="urban"];
# Data Type 3
NYC -> CHI [distance="15.0"];
LA -> SF [distnace="2.0"];
}
然后从那里找出如何将其分成 3 个相应的部分。我不确定哪种数据结构最好,因为格式随处可见(或者是否有更简单的方法来读取这个东西)。任何建议将不胜感激!
【问题讨论】:
-
可能不需要先读取和预处理所有内容:
for line in file_object: line=line.strip() if 0==len(line): continue是一个相当常见的习语。
标签: python pandas dataframe file data-structures