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:
    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

 

posted @ 2020-07-08 07:10  Iceberg_710815  阅读(5589)  评论(2编辑  收藏  举报