iceberg710815

科学计算中,输入数据文件格式转换是经常遇到的问题。由于数据输入人员输入方法不标准而产生的各种包括制表符(\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

 

分类:

技术点:

相关文章:

  • 2021-10-17
  • 2022-12-23
  • 2022-02-05
  • 2022-12-23
  • 2021-06-29
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-11-29
  • 2022-12-23
  • 2022-01-07
  • 2022-01-14
  • 2021-12-01
  • 2022-12-23
相关资源
相似解决方案