CSV文件數據如何讀取、導入、導出到新的CSV文件中以及CSV文件的創建


CSV文件數據如何讀取、導入、導出到新的CSV文件中以及CSV文件的創建

一.csv文件的創建

(1)新建一個文本文檔:

打開新建文本文檔,進行編輯。

注意:關鍵字與關鍵字之間用英文半角逗號隔開。第一行為引用字段,第二行為對應值。例如:

(2)生成csv文件

將文本文檔重命名更改文件擴展名,將“.txt”改為“.csv”

重命名重新打開后就是一個CSV文件格式。例如:

二.數據的表示和讀寫

csv文件的每一行都是一維數據,可以使用python中的列表類型表示,整個csv文件是一個二維數據,由表示每一行的列表類型作為元素,組成一個二維列表。

注:打開CSV文件的路徑可以是絕對路徑也可以是相對路徑,可根據個人習慣來編寫。

(1)導入csv格式數據到列表:

1 fo=open("city.csv","r")#打開命名為city的CSV文件
2 ls=[] #定義一個空列表,將CSV中讀取的文件放進列表
3 for line in fo:
4     line=line.replace("\n","")
5     ls.append(line.split(","))
6 print(ls)
7 fo.close()#關閉文件

運行結果:

[['城市', '環比', '同比', '定基'], ['北京', '101.5', '120.7', '121.4'], ['上海', '101.2', '127.3', '127.8'], ['廣州', '101.3', '119.4', '120.0'], ['深圳', '102.0', '140.9', '145.5'], ['沈陽', '100.1', '101.4', '101.6'], ['', '', '', '']]

(2)逐行處理CSV格式數據:

 1 fo=open("city.csv","r")#打開命名為city的CSV文件
 2 ls=[]#定義一個空列表,將CSV中讀取的文件放進列表
 3 for line in fo:
 4     line=line.replace("\n","")
 5     ls=line.split(",")
 6     lns=""
 7     for s in ls:
 8         lns+="{}\t".format(s)
 9     print(lns)
10 fo.close()

運行結果:

城市    環比    同比    定基    
北京    101.5    120.7    121.4    
上海    101.2    127.3    127.8    
廣州    101.3    119.4    120.0    
深圳    102.0    140.9    145.5    
沈陽    100.1    101.4    101.6    

(3)將一維數據寫入CSV文件:

1 fo=open("city.csv","w")
2 ls=['湖北','101.2','120.7','121.4']
3 fo.write(",".join(ls)+"\n")
4 fo.close()

運行結果;

city.csv文件原有數據:

運行之后的數據:

(4)將二維數據寫入CSV文件:

 1 fr=open("city1.csv","r")
 2 fw=open("city1out.csv","w")
 3 ls=[]
 4 for line in fr:#將CSV文件當中的二維數據讀到列表當中去
 5     line=line.replace("\n","")
 6     ls.append(line.split(","))
 7 for i in range(len(ls)):#遍歷列表變量計算百分數
 8     for j in range(len(ls[i])):
 9         if ls[i][j].replace(".","").isnumeric():
10             ls[i][j]="{:.2}%".format(float(ls[i][j])/100)
11 for row in ls:#將列表變量中的兩位數據寫入CSV文件當中去
12     print(row)
13     fw.write(",".join(row)+"\n")
14 fr.close()
15 fw.close()

運行結果:

city1文件數據與前兩個例子的city文件的內容相同,city1out.csv文件為新建立的一個CSV文件。

 city1out.csv文件數據:

 


免責聲明!

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



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