我有多个文本文件,并希望从其中的数据中执行快速绘图。我认为最快的方法是将它们转换为 python 中的数据帧。我的文字是这样的:
text = """
# WELL TRACE FROM PETREL
# WELL NAME: WELL-1
# DEFINITIVE SURVEY: mode
# WELL HEAD X-COORDINATE: 222220.36000000 (m)
# WELL HEAD Y-COORDINATE: 2222571.60000000 (m)
# WELL DATUM (KB, Kelly bushing, from MSL): 101.96000000 (ft)
# WELL TYPE: OIL
# MD AND TVD ARE REFERENCED (=0) AT WELL DATUM AND INCREASE DOWNWARDS
# ANGLES ARE GIVEN IN DEGREES
# XYZ TRACE IS GIVEN IN COORDINATE SYSTEM UTM_Zone
# AZIM_TN: azimuth in True North
# AZIM_GN: azimuth in Grid North
# DX DY ARE GIVEN IN GRID NORTH IN m-UNITS
# DEPTH (Z, tvd_z) GIVEN IN ft-UNITS
#===============================================================================================================================================
MD X Y Z TVD DX DY AZIM_TN INCL DLS AZIM_GN
#===============================================================================================================================================
0.0000000000 265750.36000 2571571.6000 401.96000000 0.0000000000 0.0000000013 0.0000000028 359.09630147 0.0000000000 0.0000000000 0.0000000000
50.000000000 265750.35746 2571571.6061 351.96000635 49.999993654 -0.002542220 0.0061465683 336.62630147 0.0500000000 0.1000000000 337.53000000
100.00000000 265750.34983 2571571.6246 301.96005077 99.999949230 -0.010168880 0.0245862575 336.62630147 0.1000000000 0.1000000000 337.53000000
"""
答案不是我所期望的,因为所有数据都在一列中
如何将此文本中的列正确识别为df?
我目前的代码是:
import os
import pandas as pd
import re
from io import StringIO
dev_files = os.listdir('/content/sample_data/dev')
for dev_file in dev_files:
dev_well_file = open('/content/sample_data/dev/{}'.format(dev_file),'r')
#print(dev_well_file.readlines())
df = pd.read_csv(StringIO(re.sub(r'[ + ]', '', dev_well_file.read())),header=15, sep='\s{2,}', engine='python')
print(df)
print(df['MDXYZTVDDXDYAZIM_TNINCLDLSAZIM_GN'])