写一段代码实现循环遍历/public/work/Personal/wuxu/qiantao_17下以.report结尾的文件,将每个文件第一列中第5-41行的字符串作为每列的表头,然后将与其对应的第二列第三列数值依次打印在对应的表头下
时间: 2023-12-05 19:04:03 浏览: 72
好的,以下是实现该功能的Python代码:
```python
import os
root_dir = '/public/work/Personal/wuxu/qiantao_17'
for parent, _, files in os.walk(root_dir):
for file in files:
if file.endswith('.report'):
file_path = os.path.join(parent, file)
with open(file_path, 'r') as f:
lines = f.readlines()
headers = lines[4].split()[4:41]
data = []
for line in lines[5:]:
row = line.split()
data.append([float(row[1]), float(row[2])])
print(headers)
for i in range(len(headers)):
print(data[i])
```
这段代码首先使用`os.walk()`函数遍历指定目录下的所有文件和子目录,然后对于每个以`.report`结尾的文件,使用`open()`函数读取其中的数据。根据题目要求,我们需要将第一列中第5-41行的字符串作为每列的表头,因此在读取数据的同时,我们可以先获取第5行中第5到41个字符串,作为表头。然后我们需要将每个表头对应的第二列和第三列数据依次提取出来,并存放在一个二维数组中,代码中用`data`表示。最后我们依次打印每个表头及其对应的数据。
阅读全文
相关推荐
![rar](https://img-home.csdnimg.cn/images/20241231044955.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)