【Python】将不规则txt文本数据读取并转换为csv文本

1.需求描述

现在有如下数据文件:

id	name	          age
1	 小明	13
2	小张	  15
3	  小王	  13
4	  张三	14
5	 王五	  18

需要将上述数据转化为csv文本数据,众所周知,csv是逗号分隔,所以只需要将文本中的制表符替换为逗号,并且将每个字符串的空值去除即可。

2.实现代码

# Author:Logan
# Date:2020/6/5  17:00
# IDE:PyCharm


def read_txt(input_file):
    res = []
    file_object = open(input_file, 'r', encoding = "UTF-8")
    s = [ line.split("	") for line in file_object.readlines()]
    for item in s:
        m = [i.strip() for i in item]
        res.append(m)
    file_object.close()
    return res

def write_txt(res, output_file):
    f = open(output_file, 'w', encoding = "ANSI")
    for lst in res:
        tmp_str = ",".join(str(i) for i in lst)
        f.write(tmp_str + "
")

def main():
    input_file = 'd:/data.txt'
    output_file = 'd:/data.csv'
    res = read_txt(input_file)
    write_txt(res,output_file)
    print('数据转换成功!!请到指定目录下查看数据!')

if __name__ == '__main__':
    main()

3.运行结果

点击下载附件

原文地址:https://www.cnblogs.com/OliverQin/p/13051176.html