python实现将文档中全部空白字符用逗号替换

科学计算中,输入数据文件格式转换是经常遇到的问题。由于数据输入人员输入方法不标准而产生的各种包括制表符(\t),空格混用等更是常见问题。这里介绍一个小实例,该例子读入一个文本文件(txt),这个文本文件中包含类似以下格式的数据:

date     d1  d2,   error  ave   name
2017/1/1   nan nan  nan  nan nan
2017/1/2nan nan   nan    nannan
2017/1/3  nan  nan  nan  nan    nan

这些数据之间是用空白字符分隔的,但空白字符包括了不空倍数的空格,有的还包含制表符,这给进一步的数据分析带来困难,现通过python的字符串函数,正则等应用将数据格式转换为标准的CSV格式。代码如下:

import re
f2 = open('Rn.csv', 'w')    # 是你转换后要存储的地址
with open('data1.txt', 'r') as f1:    # data1.txt是你想转换的文件
    for i in f1:
        line = re.split('\s+', i) #将字符串i以全部空白字符为分割符,将其分割成一个字符列表
        new_line = ','.join(line) # 将字符列表用','拼接成一个新字符串
        new_line = new_line.strip(',') # 将新字符串尾部产生的','去掉
        print(new_line)
        f2.write(new_line)
f2.close()

转换后的Rn.csv文件中数据格式如下:

date,d1,d2,error,ave,name
2017/1/1,nan,nan,nan,nan,nan
2017/1/2,nan,nan,nan,nan,nan
2017/1/3,nan,nan,nan,nan,nan

        这里也不仅仅是可以.txt和.csv两种格式的转换了,其他格式都是可以的,其目的在于批量完成空格到逗号的转变。

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值