python實現(xiàn)Excel文件轉(zhuǎn)換為TXT文件
在處理數(shù)據(jù)的時候經(jīng)常需要讀取TXT文件類型的數(shù)據(jù)轉(zhuǎn)換為可執(zhí)行的list,但是當(dāng)我們有Excel的文件,如何將Excel文件轉(zhuǎn)換為每行固定長度的TXT文件呢!如果數(shù)據(jù)量很少的情況下,人工處理還好,可是在大數(shù)據(jù)的情況下就顯得不可能了,這時如果我們利用程序執(zhí)行這一命令就輕松多了,廢話不多說,下面介紹代碼。
首先在python中import兩個必要的包(我們面向的對象是.csv的Excel文件)
import numpy as np import csv
接下來,就是讀取Excel文件,在讀取的文件路徑上本文采用絕對路徑的方式:
with open('F:/Data/DATA/airquality1.csv','rb') as csv_file: all_lines = csv.reader(csv_file) for one_line in all_lines: list_file.append(one_line) #逐行讀取Excel文件中的每一行append列表中 list_file.remove(list_file[0]) #該行表示我們?nèi)コ鼸xcel文件的第一行,因為第一行往往都是數(shù)據(jù)的名稱介紹,如果沒有介紹就不用該行代碼了 arr_file = np.array(list_file) #轉(zhuǎn)換為矩陣形式 label = arr_file[:,0] #第一列 //該行表示我們?nèi)xcel文件中第一列數(shù)據(jù)進行實驗,下述貼出數(shù)據(jù)樣式(或者Excel只有第一列有數(shù)據(jù))
然后進行一次額外的篩選,篩選的目的是因為我們所采集到的數(shù)據(jù)中一般都有一些數(shù)據(jù)缺失的情況,也就是顯示為“NULL”的情況,或者其他的形式,可以根據(jù)自己數(shù)據(jù)的缺失情況進行靈活更改(如果沒有數(shù)據(jù)缺失這部分代碼就不需要了):
for i in range(len(label)): if label[i] == 'NULL': #注意我們文件中數(shù)據(jù)缺失時記錄為“NULL”,注意替換 label[i] = label[i -1]
上述步驟已經(jīng)完成了在Excel上的各種操作,接下來就是將我們讀取到的Excel文件存儲到指定的TXT文件中了:
file = open("F:/Data/DATA/airquality48.txt", "w") for n in range(int(len(label)/48)): #該行命令用來計算數(shù)據(jù)的長度,因為我們要存儲的TXT文件中要使得每行包含48個數(shù)據(jù),所以這里使用48 file.write(label[n*48:n*48+48]) #將提取好的數(shù)據(jù)寫入到TXT文件中 file.write('\n') #注意轉(zhuǎn)換后文件最后一行空白需要刪除(寫完48個數(shù)據(jù)進行換行)
好了,上述就行所描述的程序步驟,下面用結(jié)果展示下本程序所使用的數(shù)據(jù)樣式及運行結(jié)果,為了避免出錯先完整的貼下整體程序:
# EXCEL.CSV文件轉(zhuǎn)換成TXT # import numpy as np import csv def loadCSVfile1(): list_file = [] with open('F:/Data/DATA/airquality1.csv','rb') as csv_file: all_lines = csv.reader(csv_file) for one_line in all_lines: list_file.append(one_line) list_file.remove(list_file[0]) arr_file = np.array(list_file) label = arr_file[:,0] #第一列 # 處理文件中null情況 for i in range(len(label)): if label[i] == 'NULL': label[i] = label[i -1] #將數(shù)據(jù)以天為單位寫入TXT文件中 file = open("F:/Data/DATA/airquality48.txt", "w") for n in range(int(len(label)/48)): file.write(label[n*48:n*48+48]) file.write('\n') #注意轉(zhuǎn)換后文件最后一行空白需要刪除 return label loadCSVfile1()
本程序所使用的Excel數(shù)據(jù)樣式為:
程序的運行結(jié)果將轉(zhuǎn)換為下述TXT樣式(每行包含48個數(shù)據(jù)):
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python面向?qū)ο髮崿F(xiàn)方法總結(jié)
這篇文章主要介紹了Python面向?qū)ο髮崿F(xiàn)方法總結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08Python+matplotlib實現(xiàn)量場圖的繪制
matplotlib是基于Python語言的開源項目,pyplot提供一系列繪制2D圖形的方法。本文將帶大家學(xué)習(xí)matplotlib.pyplot.quiver()相關(guān)方法屬性并通過其繪制量場圖2021-12-12Python?Streamlit實現(xiàn)文件的上傳和下載功能
在Web應(yīng)用中,文件的上傳下載是交互中不可缺少的功能,這篇文章主要為大家介紹了如何在Streamlit應(yīng)用中實現(xiàn)文件的上傳和下載功能,感興趣的可以了解下2024-12-12python實現(xiàn)畫出e指數(shù)函數(shù)的圖像
今天小編就為大家分享一篇python實現(xiàn)畫出e指數(shù)函數(shù)的圖像,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11