python编写程序:读入一个txt文件,当某行出现WELLNAME关键字,将该关键字空格后面的字符串保存为wellname,关键字这行开始数第5行到出现END_TRAJECTORY关键字之内的所有行,导出为csv文件,以wellname命名。该txt文件中包含不止一个WELLNAME关键字。
时间: 2024-04-10 21:27:45 浏览: 61
您可以使用以下Python代码来实现该功能:
```python
import csv
def extract_well_data(file_path):
with open(file_path, 'r') as file:
lines = file.readlines()
well_data = []
wellname = None
start_extract = False
for i, line in enumerate(lines):
if "WELLNAME" in line:
wellname = line.split("WELLNAME")[1].strip()
start_extract = True
elif start_extract and "END_TRAJECTORY" in line:
start_extract = False
elif start_extract:
well_data.append(line.strip())
if wellname:
csv_file = f"{wellname}.csv"
with open(csv_file, 'w', newline='') as file:
writer = csv.writer(file)
writer.writerows([line.split() for line in well_data])
return csv_file
else:
return None
# 调用示例
txt_file_path = "your_text_file.txt"
result = extract_well_data(txt_file_path)
if result:
print(f"数据已导出为CSV文件: {result}")
else:
print("未找到适合导出的数据")
```
请将代码中的`your_text_file.txt`替换为您实际的文本文件路径。代码会在同一目录下生成以`wellname`命名的CSV文件,其中包含从第5行到`END_TRAJECTORY`关键字之前的数据行。
请确保您的文本文件格式正确,并按照您的描述包含了适当的关键字和数据行。
阅读全文