程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

數據讀寫:Python讀寫CSV文件

編輯:Python

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文件

  1. 首先需要導入讀寫csv需要用的包:
import csv
  1. 使用open()函數打開一個文件,open()函數常用的參數:

    file:文件路徑、文件名

    mode:打開模式,r(只讀),w(只寫),a(追加模式)

    newline:每行之間是否存在空行,默認存在空行,' ':沒有空行。

myFile = open('example2.csv', 'w', newline='')
  1. csv.writer模塊,用於將數據寫入CSV:

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

writer = csv.writer(myFile)
  1. 使用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)

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


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved