在各種平台上獲取資料時,我們常常獲得的是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 檔案 果然,在記事本中是以逗號為分隔符,...