今天先簡單的使用一些csv檔案處理的一些常用方法,後面使用到numpy、pandas等模組時再補充。csv檔案格式的通用標準並不存在,可以參看rfc 4180
逗號分隔值(comma-separated values,csv,有時也成為了字元分隔,因為分隔字元也可以不是逗號)。
其檔案以純文字形式儲存**資料(數字和文字)。純文字意味著該檔案是乙個字串行,不含必須像二進位制數字那樣被解讀的資料。csv檔案由任意數目的記錄組成,記錄間以某種換行符分隔;每條記錄由欄位組成,欄位間的分隔符是其它字元或字串,最常見的是逗號或製表符。通常,所有記錄都有完全相同的字段序列。
更多詳細資訊可以參考wikipedia
手動生成csv檔案
from pathlib import path
p = path()/
"test.csv"
csv_body =
"""\
id,name,age
1,小明,18
2,小紅,19
3,小黃,17
"""p.write_text(csv_body)
寫入效果如下:
csv模組實現了以csv格式讀取和寫入**資料的類。
csv模組可以使用reader或者writer物件來讀寫序列,也可以使用dictreader和dictwriter類以字典的形式來讀寫資料。
csv.reader(csvfile,dialect=「excel」,**fmtparams)
返回reader物件,是乙個行迭代器
預設使用excel方言,參考dialects and formatting parameters.
import csv
with p.open(newline="") as f:
x = csv.reader(f)
for i in x:
print(i)
['id', 'name', 'age']
['1', '小明', '18']
['2', '小紅', '19']
['3', '小黃', '17']
從csv檔案中讀取的每一行都作為字串列表返回。
writer(csvfile, dialect=『excel』, **fmtparams)
返回乙個writer物件,負責將資料轉換為給定的類檔案物件上的分隔字串。
csvfile可以使具有write()方法的任何物件。如果csvfile是類檔案物件,應該以newline=""的方式開啟檔案。
可以給出可選的方言引數,改引數用於定義特定於csv方言的一組引數。
乙個簡短的用法:
官方文件點這裡
csv檔案處理
1 讀入檔案 讀入csv檔案的方式有兩種,一種是pd.dataframe.from csv 另一種是pd.read csv 兩種讀入csv檔案的方式本身沒有實質性的區別,二者都基於相同的函式功能實現,但是有一些引數的預設值不同。推薦使用的是pd.read csv,pd.dataframe.from ...
csv檔案處理
import csv with open stock.csv r as fp reader是乙個迭代器 reader csv.reader fp titles next reader for x in reader print x 這樣操作,以後獲取資料的時候,就要通過下表來獲取資料。如果想要在獲取...
csv檔案處理
import csv with open demo.csv r as fp reader csv.reader fp titles next reader for x in reader print x 這樣操作以後獲取資料的時候,就要通過下標來獲取資料。如果想要在獲取資料的時候通過標題來獲取,那麼...