Python3实现文本数据行转列

工作中需要将如下图得行数据(以空格分割)
转成列数据

待处理效果

Python3实现文本数据行转列_第1张图片

代码实现

'''
需求:
    空调
    旧房 铝管 受热 均匀
    鹞儿胡同 煤改电 闸盒

根据 空格 转成一列格式 并去重:
    空调
    旧房
    铝管
    受热
'''

import os


def row_to_column(file):
    back_file = file + '_副本.txt'
    with open(file, mode='r', encoding='utf-8') as f1, \
            open(back_file, mode='w', encoding='utf-8') as f2:
        resutl = []
        # 一行行读
        for line in f1:
            if ' ' in line:
                lines = line.split()
                for l in lines:
                    resutl.append(l + '\n')
            else:
                resutl.append(line)

        # 去重 排序
        for i in sorted(list(set(resutl))):
            # 写入副本
            f2.write(i)

    # 删除主文件
    os.remove(file)
    # 将副本名称修改为主文件名称
    os.rename(back_file, file)


row_to_column('中文分词-统计.txt')

处理后效果

Python3实现文本数据行转列_第2张图片

你可能感兴趣的:(Python,python)