當前位置:首頁 » 編程語言 » pythoncsv列表

pythoncsv列表

發布時間: 2023-03-06 09:49:34

python csv模塊(讀寫文件)

CSV文件又稱為逗號分隔值文件,是一種通用的、相對簡單的文件格式,用以存儲表格數據,包括數字或者字元。CSV是電子表格和資料庫中最常見的輸入、輸出文件格式。

通過爬蟲將數據抓取的下來,然後把數據保存在文件,或者資料庫中,這個過程稱為數據的持久化存儲。本節介紹Python內置模塊CSV的讀寫操作。

1)csv.writer()

csv模塊中的writer類可用於讀寫序列化的數據,其語法格式如下:

參數說明:

csvfile:必須是支持迭代(Iterator)的對象,可以是文件(file)對象或者列表(list)對象。

dialect:編碼風格,默認為excel的風格,也就是使用逗號,分隔。

fmtparam:格式化參數,用來覆蓋之前dialect對象指定的編碼風格。

如果想同時寫入多行數據,需要使用writerrows()方法,代碼如下所示:

aggs.csv文件內容:

2)csv.DictWriter()

當然也可使用DictWriter類以字典的形式讀寫數據,使用示例如下:

name.csv文件內容,如下所示:

1)csv,reader()

csv模塊中的reader類和DictReader類用於讀取文件中的數據,其中reader()語法格式如下:

2)csv.DictReader()

應用示例如下:

輸出結果:

開課吧廣場-人才學習交流平台

Ⅱ Python csv庫整理(部分)

近期,筆者到一些數據競賽網站進行觀察學習,發現很多數據是以csv文件處理的(廢話).因而,磨刀不誤砍柴工,筆者先對Python的csv庫進行學習.

csv模塊實現了CSV格式表單數據的讀寫.這可以以一個兼容Excel的方式讀寫其數據文件,csv模塊中的reader和writer類被用來讀寫序列化的數據.也可以使用DictReader類和DictWriter類以字典的方式讀取數據.

返回一個reader對象,該對象逐行遍歷csvfile(文件和列表均適用,但是文件的話應該newline=''.
默認每一行讀取一個字元串組成的列表(而非數值,除非修改QUOTE_NONUMERIC).

返回一個writer對象,負責將數據在給定的文件類對象上轉換成帶分隔符的字元串.csvfile(只要該對象有write()方法,文件的話應該newline=''.)


這兩個方法可以把name字元串和dialect關聯/脫鉤.dialect可以是Dialect的子類,或者fmtparams的關鍵字參數.

返回一個Dialect對象為name的變種,若其未注冊,拋出Error.

返回已經注冊的所有變種的 名稱

返回當前解析器允許的最大欄位大小,如果制定了參數,參數將成為新的最大欄位大小.

該對象操作上類似reader,但是把每行中的信息映射到一個字典,字典的鍵由fieldnames給出
fieldname的參數是一個序列sequence [1] ,如果參數預設,默認第一行的值作為欄位名.
如果某一行中的欄位多於欄位名(比如說約定有5項屬性,但是這一行卻出現了6個數據),則其餘欄位將放入列表中,欄位名由 restkey 指定(默認為 None)。如果非空白行的欄位少於欄位名,則缺少的值將用 None 填充。
#其實這玩意應該就跟各種填表裡面的備注用法差不多.
3.8中返回的行是dict類型.

該對象操作上類似reader,但是把每行中的信息映射到一個字典,字典的鍵由fieldnames給出,fieldname參數是不可預設的.restval用來指定字典缺少鍵的時候要寫入的值.extrasaction用於指定關鍵鍵在fieldname中找不到的情況的處理機制.'raise'引發ValueError,而'ignore'則會被忽略.


這個類被用來瑞段csv文件的格式

以下諸類均在括弧中標注了在其變種注冊表中的名稱

定義了Excel生成的csv文件的常規屬性.('excel')

定義了Excel生成的,tab分割的csv文件的常規屬
性.('excel-tab')

定義了UNIX系統上生成的csv文件的常規屬性('unix'):

任意可能發生的csv庫函數錯誤.

參考鏈接
Python3.8.2文檔中關於csv庫的相關文檔

Ⅲ python中列表csv文件,打開後怎麼都在一列

用txt打開你的csv源文件里,看看單元格之間是用什麼符號分割的,pandas默認是逗號『,』分割的,你這個好像是空格分割的,試試這個代碼df=pd.read_csv('.csv',sep='')。sep=,注意引號裡面是個空格符哦。

Ⅳ 說說如何利用 Python 處理 CSV 文件

CSV 表示 「Comma-Separated Values (逗號分隔的值) 」 , CSV 文件是簡化的電子表格,實際為純文本文件。

一個 CSV 文件,格式是這樣的:

因為 CSV 文件中的每個單元格都是以逗號分割,所以也許有人會對每行文本調用 split() 方法,來解析 CSV 文件。但 CSV 文件也有自己的轉義字元,通過轉義字元,允許逗號和其他字元作為值的一部分,但單純使用 split() 方法不能處理這些轉義字元。因為這些潛在的缺陷,所以建議總是使用 csv 模塊來讀寫 CSV 文件。

csv 模塊是 Python 自帶的,所以可以直接導入。

要使用 csv 模塊從 CSV 文件中讀取數據,我們需要創建一個 Reader 對象。 通過 Reader 對象,我們可以迭代遍歷 CSV 文件中的每一行內容。

運行結果:

要用 csv 模塊讀取 CSV 文件,首先先使用 open() 函數打開它 ,就像打開任何其他文本文件一樣。然後將它傳遞給 csv .reader() 函數。 這個函數將返回一個 Reader 對象。注意,csv .reader() 函數不接受文件名作為入參。

訪問 Reader 對象中的值,最直接的方法,就是利用 list() 將它轉換成一個普通 Python 列表。它實際為一個包含列表的列表,用於表示二維數據。

我們還可以使用表達式 data [ row ][ col ] 來訪問 CSV 中特定行和列的值。其中, row 是 data 中一個列表的下標, col 是該列表中,我們想訪問的項的下標:

運行結果:

運行結果:

Writer 對象可以讓我們把數據寫入 CSV 文件。

運行結果:

在 Windows 上,需要為 open() 函數的 newline 關鍵字參數傳入一個空字元串。如果沒有設置 newline 參數, output.csv 中的行距將變為兩倍,如下圖所示。

如果寫入的內容包含逗號,那麼 csv 模塊會自動加上雙引號,對其進行轉義,如下例所示。

運行結果:

我們也可以利用 delimiter ,來製作 TSV 文件,TSV 是Tab-separated values的縮寫,即以製表符作為分隔符的文件;利用 lineterminator 參數來設定行距。

運行結果:

這里利用 lineterminator='\n\n\n' 將行與行之間的字元變為三個換行符,效果就是實現了 3 倍行距。

Ⅳ python 怎麼把csv中的數據寫入列表

使用pandas讀取的方法是
pandas.to_csv()
得到的結果是dataframe格式,再用numpy庫轉一下
具體代碼:
import pandas as pd
import numpy as np
file_content = pd.to_csv(r'C:\新建文件夾\result123.csv')
row = np.array(file_content)
lx = row.tolist()

Ⅵ python如何讀取csv某列XX行數據保存為列表

list1 = df[[df.columns[2],df.columns[0]]]
list2 = df[[df.columns[2],df.columns[1]]]

Ⅶ python中CSV寫入字元串列表,單行變多個單字元的問題

for v in data_list:
這句有問題,你的兩種格式都是list,
在這句之前應該先判斷整個list的類型,如果是嵌套的list,才進行for
否則,就應該把簡單list轉成嵌套list
即data_list = [data_list]

熱點內容
如何製作土豆伺服器 發布:2024-11-07 05:27:49 瀏覽:811
機器碼反編譯教程 發布:2024-11-07 05:24:17 瀏覽:213
動遷三塊磚演算法 發布:2024-11-07 05:18:06 瀏覽:826
視窗壓縮 發布:2024-11-07 04:45:06 瀏覽:887
fc2點此訪問 發布:2024-11-07 04:45:04 瀏覽:760
上傳吊牌圖 發布:2024-11-07 04:38:48 瀏覽:919
密碼學什麼概念 發布:2024-11-07 04:38:48 瀏覽:848
linuxpdf轉word 發布:2024-11-07 04:37:06 瀏覽:213
安卓手機為什麼用ufs 發布:2024-11-07 04:15:09 瀏覽:559
資料庫刪除所有表 發布:2024-11-07 04:13:55 瀏覽:576