用python處理csv格式檔案

2021-10-07 14:25:06 字數 2762 閱讀 3128

在各種平台上獲取資料時,我們常常獲得的是csv格式的檔案。csv格式是一種逗號分隔值的檔案格式,它並不是非常reader-friendly。所幸,python標準庫中的csv模組可以幫助我們輕鬆處理csv格式檔案。下面將以分析我國2010-2023年gdp為例簡單介紹用python處理csv格式檔案的過程。

分析csv檔案頭

為了在python中處理csv檔案,我們需要匯入csv模組,並建立乙個閱讀器(reader)物件。具體**如下。

import csv

defmain()

: filename =

'gdp_data.csv'

with

open

(filename)

as f:

reader = csv.reader(f)

next

(reader)

next

(reader)

# 跳過表頭

header_row =

next

(reader)

# 用next()讀取一行

print

(header_row)

執行main()函式,就可以看到

拆分檔案頭

有時候檔案頭中的條目較多,乙個乙個核對非常麻煩,這時候就可以用enumerate函式將檔案頭拆分成索引序列

# 拆分檔案頭

for index, column_header in

enumerate

(header_row)

:print

(index, column_header)

執行**後,就可以輕鬆看到每個條目的指標對應。

提取並讀取資料

下面考察國內生產總值和時間的關係,在前一步中已經知道,國內生產總值在第二列,時間在第零列。由於資料集末尾有注釋項,並不是我們關心的資料,所以這裡用到了正規表示式來匹配我們關心的資料。詳見**(注意使用正規表示式需要匯入re模組)。

# 從檔案中獲取時間和國民總收入

gdp =

year =

for row in reader:

# 利用正規表示式排除末尾注釋段,只提取需要的資料

if re.match(r'\d'

, row[0]

)isnone

:break0]

)2])

print

(year)

print

(gdp)

執行**就可以看到我們已經提取出了需要的資料。

將字串轉換為數字並繪圖

利用float(row[2])可直接實現型別轉換,完成轉換後我們接著matplotlib模組來畫圖(如果缺少此模組,需先用pip安裝)。

year.reverse(

) gdp.reverse(

)# 用matplotlib畫圖

plt.plot(year, gdp, linewidth=3)

# 設定圖形格式

plt.title(

'2010-2019 china gross domestic product'

, fontsize=18)

plt.xlabel(

'year'

, fontsize=12)

plt.ylabel(

'gdp(0.1billion)'

, fontsize=12)

plt.show(

)

效果如下:

進一步豐富圖形內容

如果我們希望突出第三產業增加值對gdp的貢獻,可以做進一步的處理。

# 用matplotlib畫圖

plt.plot(year, gdp, linewidth=3)

plt.plot(year, first_second_industry, c=

'green'

, linewidth=3)

# 對第三產業增加值的部分著色突出(引數alpha控制透明度)

plt.fill_between(year, gdp, first_second_industry, facecolor=

'green'

, alpha=

0.1)

# 設定圖形格式

plt.title(

'2010-2019 china gross domestic product'

, fontsize=18)

plt.xlabel(

'year'

, fontsize=12)

plt.ylabel(

'gdp(0.1billion)'

, fontsize=12)

plt.show(

)

這樣我們就可以得到一張非常好看且含義鮮明的圖表了。

python處理csv格式資料

1.氣溫資料分析 在這裡插入 片 import csv from matplotlib import pyplot as plt from datetime import datetime filename sitka weather 07 2014.csv 將檔名稱儲存在filename中 wit...

python中csv檔案處理 讀寫csv檔案

1.讀取csv檔案 import csv with open stock.csv r as fp reader csv.reader fp reader是乙個迭代器,可以進行遍歷 titles next reader for x in reader print x 0 print x 1 print...

用Python處理csv檔案

csv 是 逗號分隔值 的英文縮寫,通常都是純文字檔案。建議使用 wordpad 或是記事本 note 來開啟,再則先另存新檔後用 excel 開啟,也是方法之一。一直以為 csv 是某種 excel 檔案,原來是一種純文字檔案,嘗試用記事本開啟乙個 csv 檔案 果然,在記事本中是以逗號為分隔符,...