iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 8
0
AI & Data

30天從嫩嫩的人工智慧奇幻旅程系列 第 8

吸星大法 人工智慧的資料取得 python csv 讀寫

  • 分享至 

  • xImage
  •  

前面講的那些東西都跟人工智慧沒啥大關係,我拖戲了 對不起。不過前面那些基礎是必要的。
接下來我們會開始介紹各種資料讀寫的方式,畢竟人工智慧最重要的就是前面資料的取得和整理。

我們先以 csv 來試試看吧!

import csv
# 開啟 CSV 檔案
with open('iris.csv', newline='') as csvfile:
    rows = csv.reader(csvfile)
    # 以迴圈輸出每一列
    for row in rows:
        print(row)

我們稍微解釋一下上面的吧!一開始我們假設有個 iris.csv 的檔案,我們打開後丟進去 csvfile 這個變數中。
利用 csv.reader 這個指令去解析剛剛的 csvfile 這個變數,讓他是一個 list 物件。接著我們就可以把他用 for 迴圈去解析他摟!是不是很容易,我覺得超容易的。

如果說我們取出的 csv 希望是 dist 格式的話也可以這樣寫

rows = csv.DictReader(csvfile)

使用這個指令的話,它會自動把第一列(row)當作欄位的名稱,將第二列以後的每一列轉為 dictionary,這樣我們就可以使用欄位的名稱來存取資料。

# 以迴圈輸出指定欄位
  for row in rows:
    print(row['sepal_length'], row['species'])

這樣的話,我們在後面使用的時候就可以作更多的篩選和處理了。


接著就是產生 csv 檔案的時候了。
標準寫法也是很簡單啦,就是打開一個檔案然後一行一行寫 list

import csv

# 開啟輸出的 CSV 檔案
with open('output.csv', 'w', newline='') as csvfile:
  # 建立 CSV 檔寫入器
  writer = csv.writer(csvfile)

  # 寫入一列資料
  writer.writerow(['姓名', '身高', '體重'])

  # 寫入另外幾列資料
  writer.writerow(['令狐沖', 175, 60])
  writer.writerow(['岳靈珊', 165, 57])

當然,如果我們手上已經有 dist 格式的資料可用,也可以直接塞。

  # 定義欄位
  fieldnames = ['姓名', '身高', '體重']

  # 將 dictionary 寫入 CSV 檔
  writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

  # 寫入第一列的欄位名稱
  writer.writeheader()

  # 寫入資料
  writer.writerow({'姓名': '令狐沖', '身高': 175, '體重': 60})
  writer.writerow({'姓名': '岳靈珊', '身高': 165, '體重': 57})

上一篇
判別是非黑白的時刻 python 判斷式
下一篇
吸星大法 人工智慧的資料取得 python excel 讀取資料
系列文
30天從嫩嫩的人工智慧奇幻旅程25
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言