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