Python实现不规则txt文本数据读取并转换为csv文本

1.需求描述

现在有如下数据文件:

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

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

2.实现代码

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def read_txt(input_file):
    res = []
    file_object = open(input_file, 'r', encoding = "UTF-8")
    s = [ line.split("\t") 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 + "\n")

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.运行结果
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值