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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM