Python之二維數據的格式化和處理


1. 二維數據的表示

二維數據一般是一種表格形式,由於它的每一行具有相同格式特點,所以我們使用列表類型來表達二維數據表。

image-20210226163438700

所謂的二維列表是指它本身是一個列表,而列表中每一個元素又是一個列表。其中每一個元素代表二維數據的一行或者一列,若干行和若干列組合起來就變成了二維列表。

[ [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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM