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文件數據: