1. 二維數據的表示
二維數據一般是一種表格形式,由於它的每一行具有相同格式特點,所以我們使用列表類型來表達二維數據表。
所謂的二維列表是指它本身是一個列表,而列表中每一個元素又是一個列表。其中每一個元素代表二維數據的一行或者一列,若干行和若干列組合起來就變成了二維列表。
[ [3.1398, 3.1349, 3.1376],[3.1413, 3.1404, 3.1401] ]
使用兩層for循環遍歷每個元素
外層列表中每個元素可以對應一行,也可以對應一列
一二維數據的Python表示
一維數據:列表和集合類型
數據間有序:[3.1398, 3.1349, 3.1376]
數據間無序:{3.1398, 3.1349, 3.1376}
二維數據:列表類型
[ [3.1398, 3.1349, 3.1376],[3.1413, 3.1404, 3.1401] ]
2. CSV數據存儲格式
CSV: Comma-Separated Values
-
國際通用的一二維數據存儲格式,一般.csv擴展名
-
每行一個一維數據,采用逗號分隔,無空行
-
Excel和一般編輯軟件都可以讀入或另存為csv文件
下面是北上廣深沈的房價數據構成的小表格,用它來做一個二維數據的實例:
城市 | 環比 | 同比 | 定基 |
---|---|---|---|
北京 | 101.5 | 120.7 | 121.4 |
上海 | 101.2 | 127.3 | 127.8 |
廣州 | 101.3 | 119.4 | 120.0 |
深圳 | 102.0 | 140.0 | 145.5 |
沈陽 | 100.0 | 101.4 | 101.6 |
將上面的二維數據轉換成 csv 格式的之后會變成由逗號分隔的形式:
城市,環比,同比,定基
北京,101.5,120.7,121.4
上海,101.2,127.3,127.8
廣州,101.3,119.4,120.0
深圳,102.0,140.0,145.5
沈陽,100.0,101.4,101.6
-
如果某個元素缺失,逗號仍要保留
-
二維數據的表頭可以作為數據存儲,也可以另行存儲
-
逗號為英文半角逗號,逗號與數據之間無額外空格
如果數據中包含逗號,數據的兩側要增加一個引號,以此來表達這個逗號不是分割元素的逗號。也可以使用一個轉義符號來進行轉義。
3. 二維數據的存儲
-
按行存或者按列存都可以,具體由程序決定
-
一般索引習慣:
ls[row][column]
,先行后列 -
根據一般習慣,外層列表每個元素是一行,按行存
4. 二維數據的處理
二維數據的讀入處理
從CSV格式的文件中讀入數據
fo = open(fname)
ls = []
for line in fo:
line = line.replace("\n","")
ls.append(line.split(","))
fo.close()
二維數據的寫入處理
將數據寫入CSV格式的文件
ls = [[], [], []] #二維列表
f = open(fname, 'w')
for item in ls:
f.write(','.join(item) + '\n')
f.close()
二維數據的逐一處理
采用二層循環
ls = [[1,2], [3,4], [5,6]] #二維列表
for row in ls:
for column in row:
print(column)
以上內容資料均來源於中國大學MOOC網-北京理工大學Python語言程序設計課程
課程地址:https://www.icourse163.org/course/BIT-268001