Python 3 匯入匯出.csv檔
讀入檔案
- 直接讀取
- 自訂分隔符號
# library
import csv
# 開啟 CSV 檔案
with open('yourfile.csv', newline='') as csvFile:
# 1.直接讀取:讀取 CSV 檔案內容
rows = csv.reader(csvFile)
# 2.自訂分隔符號:讀取 CSV 檔案內容
rows = csv.reader(csvFile, delimiter=',')
# 迴圈輸出 每一列
for row in rows:
print(row)
- 轉成dictionary(字典):自動把第一列(row)當作欄位的名稱,將第二列以後的每一列轉為字典內容,之後便可以直接使用欄位名稱來存取資料。
# library
import csv
# 開啟 CSV 檔案
with open('yourfile.csv', newline='') as csvFile:
# 3.轉成一個 dictionary, 讀取 CSV 檔內容,將每一列轉成字典
rows = csv.DictReader(csvFile)
# 迴圈輸出 指定欄位
for row in rows:
print(row['title'],row['req_sent'], row['connections'])
寫出檔案
- 直接寫出
- 寫出多維陣列
import csv
# 開啟輸出的 CSV 檔案
with open('yourOutput.csv', 'w', newline='') as csvFile:
# 建立 CSV 檔寫入器
writer = csv.writer(csvFile)
# 1.直接寫出-標題
writer.writerow(['姓名','年齡','電話','地址'])
# 1.直接寫出-資料
writer.writerow(['葉大雄',18, '0911-123-123', '台北市火車站大廳'])
writer.writerow(['林靜香',26, '0911-456-456', '台北市中山北路二段'])
# 2.寫出多維陣列
Table = [['姓名','年齡','電話','地址'],['葉大雄',18, '0911-123-123', '台北市火車站大廳'],['林靜香',26, '0911-456-456', '台北市中山北路二段']]
writer.writerows(Table)
輸出的.csv結果
- 指定分隔符號
import csv
# 開啟輸出的 CSV 檔案
with open('yourOutput.csv', 'w', newline='') as csvFile:
# 建立 CSV 檔寫入器
writer = csv.writer(csvFile)
# 指定分隔符號
writer = csv.writer(csvfile, delimiter=';')
# 寫出標題
writer.writerow(['姓名','年齡','電話','地址'])
# 寫出資料
writer.writerow(['葉大雄',18, '0911-123-123', '台北市火車站大廳'])
writer.writerow(['林靜香',26, '0911-456-456', '台北市中山北路二段'])
輸出的.csv結果,將默認的,
改為;
- 寫出Dictionary(字典)
import csv
with open('output.csv', 'w', newline='') as csvFile:
# 定義欄位
fieldNames = ['姓名', '成績', '班級']
# 將 dictionary 寫入 CSV 檔
writer = csv.DictWriter(csvFile, fieldNames)
# 寫入第一列的欄位名稱
writer.writeheader()
# 寫入資料
writer.writerow({'姓名': '林靜香','成績':81, '班級': 'a班'})
writer.writerow({'姓名': '葉大雄','成績':65, '班級': 'b班'})
輸出的.csv結果
參考資料:Python 3 lib csv Document
人生美好~別浪費腦容量記程式碼 :- )
作者:CYL
出處:http://dotblogs.com.tw/cylcode
資料來源都會特別註明,有興趣都可查詢原出處,本站皆經過整理才分享,如有轉載請顯示出處及作者,感謝。