[文件] Python读取txt存储至xls

需求

以行列号命名的.txt,存储着该网格内的wifi信号
.txt命名格式:行号_列号.txt
[文件] Python读取txt存储至xls_第1张图片
.txt内容:

[文件] Python读取txt存储至xls_第2张图片

代码

# coding:utf8
import os
import xlwt

input_dir = r'F:\study\school\Android\kczx\lab4\data' #文件夹需要删除index.txt
save_dir = r'F:\study\school\Android\kczx\lab4\data'
# 起始行列号
x0 = 27
y0 = 15

if __name__ == '__main__':
    # 获取文件名
    filenames = os.listdir(input_dir)
    # 存储数据
    data = {}
    # 遍历文件
    for filename in filenames:
        # 得到行列号
        x,y = filename[0:5].split('_')
        x,y = int(x)-x0,int(y)-y0
        # 读取数据
        file_path = os.path.join(input_dir,filename)
        f = open(file_path,'r')
        while True:
            line = f.readline()
            if not line:
                break
            line_datas = line.split('#')
            if len(line_datas)!=6:
                continue
            if not data.has_key(line_datas[0]):
                data[line_datas[0]] = []
            data[line_datas[0] ].append(
                {
                    "x" : x,
                    "y" : y,
                    "info" : line_datas[4]
                }
            )
        f.close()

    print data
    # 一个mac存储成一个xls
    for (mac,value) in data.items():
        wb = xlwt.Workbook()
        sheet = wb.add_sheet(mac)
        for item in value:
            print item
            sheet.write(
                item['x'],
                item['y'],
                item['info']
            )
        wb.save(os.path.join(save_dir,mac+'.xls'))

你可能感兴趣的:(python)