编写一个python脚本,读取当前目录以及子目录下所有txt文件的第一行内容,标记目录名,并输出至一个xls文件
时间: 2023-06-12 21:08:21 浏览: 104
以下是一个实现的示例代码:
```python
import os
import xlwt
# 获取当前目录及子目录下所有txt文件的第一行内容和目录名
def get_txt_first_line():
result = []
for root, dirs, files in os.walk("."):
for file in files:
if file.endswith(".txt"):
file_path = os.path.join(root, file)
with open(file_path, 'r', encoding='utf-8') as f:
first_line = f.readline().strip()
result.append((os.path.abspath(root), file, first_line))
return result
# 输出到xls文件
def output_to_xls(data):
workbook = xlwt.Workbook(encoding='utf-8')
worksheet = workbook.add_sheet('Sheet1')
row = 0
for directory, file_name, first_line in data:
worksheet.write(row, 0, directory)
worksheet.write(row, 1, file_name)
worksheet.write(row, 2, first_line)
row += 1
workbook.save('result.xls')
if __name__ == '__main__':
data = get_txt_first_line()
output_to_xls(data)
```
代码中,首先使用`os.walk()`函数遍历当前目录及其子目录下的所有文件和目录,然后判断文件是否以`.txt`结尾,如果是则读取其第一行内容,并将目录名、文件名和第一行内容存储到一个列表中。
最后,使用xlwt库将列表中的内容输出到一个xls文件中,其中第一列为目录名,第二列为文件名,第三列为第一行内容。输出的xls文件名为`result.xls`。
阅读全文