如何解决从一千个文件中提取某些数据并逐列放入excel表中
我有大约 3000 个数据文件(以 .witsml 格式在记事本中打开,如下所示)。我想提取显示的两条红线包围的时间和数据集。每个文件都有相同的行数。
这里的问题是每个文件都包含不同时间戳的数据。因此,从一个文件中提取所需的数据后,我需要将它们放在 Excel 工作表列中。然后下一个文件数据,解压后放到下一列,依此类推。
我有 Python 和 Matlab 的初级知识。考虑到这一点,会推荐将所有这些 3k 文件转换为并排列的 .csv 格式的代码结构吗? enter image description here
解决方法
简短地看一看并阅读此类文档的文档,这似乎是一种 XML 格式。
例如我发现了这个 about loading xml to pandas
从数据框中,您可以通过
简单地将其保存到 csvpandas.DataFrame.to_csv()
你尝试过这样的事情吗? 无论如何,pandas 也有用于日期戳的内置函数。
由于直接加载似乎有一些困难,您可以尝试通过 python 读取文件,例如:
from datetime import datetime
def process_time(timestring):
# extract time data here - if every file is same,always pass third line
# make use of datetime if helpfull e.g. strptime
return datestamp
def process_data(datastringlist):
# IN: list with all lines with data in it
datalist = []
for dataline in datastringlist:
start = dataline.find('<data>')
end = dataline.find('</data>')
data = dataline[start+len('<data>'):end]
datalist.append(data)
return datalist
if __name__ == '__main__':
with open('myfile.xml','r') as f:
linelist = f.readlines()
dstamp = process_time(linelist[2]) # if time is always there
datalist = process_data(linelist[9:]) # maybe check before where <data> starts
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。