python遍历包含txt文件的文件夹,将将txt文件的个数从1到最后排序,将序号放在excel文件的第一列,每行的第一个数放在Excel的每行的第二列,若两行或两行以上则放置多个数在第二列以逗号隔开,每个txt的行数放在Excel的第三列,每行的第六个数放在csv的第四列代码,为表格加入表头,第一列表头名为Id,第二列表头为class,第三列表头为number of classes,第四列表头为conf,第五列表头为result的代码,当第二列包含7或8且第三列大于等于2时将第五列标注为1,其余第五列标注为0的代码
时间: 2024-04-10 20:33:06 浏览: 107
以下是用Python遍历包含txt文件的文件夹,对txt文件进行排序,并将相关数据写入Excel和CSV文件的代码:
```python
import os
import csv
import pandas as pd
# 获取包含txt文件的文件夹路径
folder_path = 'path/to/folder'
# 获取文件夹中所有txt文件的路径
txt_files = [os.path.join(folder_path, f) for f in os.listdir(folder_path) if f.endswith('.txt')]
# 对txt文件进行排序
txt_files.sort()
# 创建空的数据列表
data = []
# 遍历txt文件,获取相关数据
for i, file in enumerate(txt_files):
with open(file, 'r') as f:
lines = f.readlines()
line_count = len(lines)
line_numbers = [str(j) for j in range(1, line_count+1)]
line_numbers_str = ', '.join(line_numbers)
data.append([i+1, line_numbers_str, line_count])
# 将数据写入Excel文件
df = pd.DataFrame(data, columns=['Id', 'class', 'number of classes'])
df['conf'] = 0
df['result'] = 0
df.loc[(df['class'].str.contains('7|8')) & (df['number of classes'] >= 2), 'result'] = 1
df.to_excel('output.xlsx', index=False)
# 将数据写入CSV文件
df.to_csv('output.csv', index=False)
```
上述代码会遍历指定文件夹中的所有txt文件,并将相关数据排序后,写入Excel和CSV文件。其中,第二列的数据是每个txt文件的序号,如果有多个序号则以逗号隔开;第三列是每个txt文件的行数;第四列是默认为0的conf;第五列是根据条件判断是否标注为1或0的result。
请将`'path/to/folder'`替换为实际的文件夹路径,并运行以上代码即可实现功能。
阅读全文