iT邦幫忙

2024 iThome 鐵人賽

DAY 18
0
Python

讓Python不拍勝-實用套件實作與介紹系列 第 18

[DAY18]使用Python進行資料處理-Pandas(十)

  • 分享至 

  • xImage
  •  

今天這篇將會介紹如何讀取 CSV 檔進行處理,以及如何將處理完的資料存成 CSV 檔。

CSV 檔案格式簡介

CSV 全稱為 Comma-Separated Values,是一種常見的純文字檔案格式,與 TXT 檔不同的是,CSV 如同名字一樣,預設利用逗號來分隔資料,非常適合儲存在 Pandas 套件處理完的表格資料。

那首先,先來教各位如何讀取 CSV 檔。

讀取 CSV 檔

讀取 CSV 檔可以利用之前提過的 with open() as 的方法,也可以透過 Pandas 的內建函數進行讀取,下面先來示範 with open() as 的方法

利用 with open() as 函數讀取 CSV 檔

假設我們有下面的 example.csv 範例

csv

導入 CSV 套件

因為 CSV 套件在 Python 標準函式庫內,所以不需另外安裝

import csv

讀取檔案

用 with open() as 讀取 CSV 檔,需要用到 csv 套件內的 csv.reader(file)函數,delimiter 參數是用來指定要用什麼符號來決定分隔,預設為逗號,常常也會有 CSV 檔利用 Tab 來空格,這時候就可以輸入 delimiter='\t'

  • csv.reader 返回的是一個可迭代的物件,依據換行符(\n)分行,需要透過迴圈來讀取資料
instrument = []
with open('./example.csv', 'r') as file:
    csv_reader = csv.reader(file, delimiter=',')
    for row in csv_reader:
        instrument.append(row)
print(instrument)

輸出結果

[['', 'guitar', 'bass', 'keyboard'], ['A', '2', '7', '8'], ['B', '3', '6', '9'], ['C', '4', '5', '10']]

轉換成 DataFrame

column = instrument[0] 
row = instrument[1:]
#.set_index('')用來將A,B,C設為index,但會造成多一個空列
instrument = pd.DataFrame(row, columns=column).set_index('')
#透過index.name = None將索引名稱指定為空值的方式,刪除空列
instrument.index.name = None
print(instrument)

輸出結果

  guitar bass keyboard
A      2    7        8
B      3    6        9
C      4    5       10

下一篇繼續介紹如何利用 Pandas 的方法讀取 CSV 檔及如何存檔


上一篇
[DAY17]使用Python進行資料處理-Pandas(九)
下一篇
[DAY19]使用Python進行資料處理-Pandas(十一)
系列文
讓Python不拍勝-實用套件實作與介紹30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言