python 提取文档中的控制点高程和放样点高程,计算出结果后写入excel文件形成闭合水准路线的代码
时间: 2023-06-01 15:02:00 浏览: 84
以下是一个简单的示例代码,用于从文本文件中提取控制点高程和放样点高程,并将结果写入Excel文件以形成闭合水准路线。
```python
import xlwt
# 打开文本文件
with open('data.txt', 'r') as f:
lines = f.readlines()
# 创建Excel文件和工作表
workbook = xlwt.Workbook()
sheet = workbook.add_sheet('水准路线')
# 写入表头
sheet.write(0, 0, '测站编号')
sheet.write(0, 1, '控制点高程')
sheet.write(0, 2, '放样点高程')
# 提取控制点和放样点高程
control_points = {}
survey_points = {}
for line in lines:
if line.startswith('CP'):
# 提取控制点高程
parts = line.split(',')
control_points[parts[0]] = float(parts[1])
elif line.startswith('SP'):
# 提取放样点高程
parts = line.split(',')
survey_points[parts[0]] = float(parts[1])
# 计算闭合水准路线
route_elevation = 0.0
for i, cp in enumerate(control_points.keys()):
sheet.write(i + 1, 0, cp)
sheet.write(i + 1, 1, control_points[cp])
survey_elevation = survey_points[cp]
sheet.write(i + 1, 2, survey_elevation)
route_elevation += survey_elevation - control_points[cp]
# 计算闭合差
closing_error = route_elevation / len(control_points)
sheet.write(len(control_points) + 1, 0, '闭合差')
sheet.write(len(control_points) + 1, 1, closing_error)
# 保存Excel文件
workbook.save('route.xls')
```
该代码假设文本文件中包含类似以下格式的数据:
```
CP1,100.0
SP1,101.5
CP2,103.0
SP2,105.5
CP3,107.0
SP3,110.5
```
其中,`CP`表示控制点,`SP`表示放样点,后面的数字为高程值。代码将这些数据提取出来,并计算出闭合水准路线和闭合差,最终将结果写入Excel文件。
相关推荐
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)