csv檔案處理

2021-09-22 08:02:53 字數 3012 閱讀 3266

今天先簡單的使用一些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 這樣操作以後獲取資料的時候,就要通過下標來獲取資料。如果想要在獲取資料的時候通過標題來獲取,那麼...