Python數據讀寫之Python讀寫CSV文件

1. 讀取CSV文件 csv.reader()

該方法的作用相當於就是通過 ',' 分割csv格式的數據,並將分割好的每行數據存入列表中,並且還去除瞭每行最後分割產生的數據尾部的空格、換行符、制表符等等。

import csv
with open('data.csv',mode='r',encoding='utf-8-sig',newline='') as File:
    # 使用csv.reader()將文件中的每行數據讀入到一個列表中
    reader = csv.reader(File, delimiter=',', quotechar=',', quoting=csv.QUOTE_MINIMAL)
    # 遍歷列表將數據按行輸出
    for row in reader:
        print(row)      

直接通過 索引 來訪問每行數據的列元素

for row in reader:
    print(row[0])

csv.DictReader()

該方法將文件中的每行數據保存在 OrderedDict 中,此數據類型類似於嵌套著元組的列表,每個元組中的第一個元素為鍵,第二個元素為值,其中元組中的鍵來自於CSV數據中的表頭信息。

import csv
results = []
with open('data.csv',mode='r',encoding='utf-8-sig',newline='') as File:
    reader = csv.DictReader(File)
    for row in reader:
        print(row)

通過鍵值來讀取部分信息

 for row in reader:
        print(row['MakeSpan'],row['WaitTime'])

關於DictReader()的更多內容尚未學習整理,如有需要可參考其他文章:CSV.DictReader()方法

2. 寫入CSV文件

首先需要導入讀寫csv需要用的包:

import csv

使用open()函數打開一個文件,open()函數常用的參數:

  • file:文件路徑、文件名
  • mode:打開模式,r(隻讀),w(隻寫),a(追加模式)
  • newline:每行之間是否存在空行,默認存在空行,' ':沒有空行。
myFile = open('example2.csv', 'w', newline='')

csv.writer模塊,用於將數據寫入CSV:

  • csvfile:這 能夠 是帶有write()方法的任何對象。
  • dialect=‘excel’:一個可選參數,用於定義特定於特定CSV的一組參數。
  • fmtparam:可選參數,可用於覆蓋現有的格式設置參數。
writer = csv.writer(myFile)

使用writerow()和writerows()將數據寫入到CSV文件中:

  • writerow():將數據存到csv文件中的一行裡,每個元素占用一個單元格
  • writerows():將數據中的每一個列表存到CSV文件中的一行裡,列表中每個元素占用一個單元格
myData1 = [["這", "是", "writerow", "的", "效", "果"],
           ["這", "是", "writerow", "的", "效", "果"],
           ["這", "是", "writerow", "的", "效", "果"]]
           
myData2 = [["這", "是", "writerows", "的", "效", "果"],
           ["這", "是", "writerows", "的", "效", "果"],
           ["這", "是", "writerows", "的", "效", "果"]]
myFile = open('example2.csv', 'w', newline='')
with myFile:
    writer = csv.writer(myFile)
    writer.writerow(myData1) 
    writer.writerows(myData2) 

寫入文件後的效果如下所示:

到此這篇關於Python數據讀寫之Python讀寫CSV文件的文章就介紹到這瞭,更多相關Python讀寫CSV文件內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: