第三章使用的數據文件:

一、CSV數據


Python代碼1
import csv csvfile = open('data-text.csv','rb') #打開文件,只讀模式('wb'表示寫) reader = csv.reader(csvfile) #讀取數據 for row in reader: #輸出數據 print row
在PyCharm中運行:
在控制台中使用命令行運行:
(運行代碼文件只需要進入到其所在文件夾,輸入:python 文件名)
Python代碼2
import csv csvfile = open('data-text.csv','rb') reader = csv.DictReader(csvfile) for row in reader: print row
在PyCharm中運行:
在控制台中使用命令行運行:
注:
1、使用命令行編譯時需要進入到代碼文件所在文件夾,並且數據文件應與代碼文件所在同一目錄下(因為代碼中沒有指定數據文件路徑)
2、對比上面兩個代碼如下,對比輸出,代碼1輸出的是列表格式,代碼2輸出的是字典格式
代碼1:reader = csv.reader(csvfile) #讀取數據
代碼2:reader = csv.DictReader(csvfile)
二、JSON數據
.json為文件擴展名,極少數命名不規范的.js文件也可能包含的是JSON數據(.js文件一般是JavaScript文件 )
JSON數據文件部分內容
JSON文件內容類似於Python中的字典,每一行都有鍵和值。
Python代碼
import json json_data = open('data-text.json').read() data = json.loads(json_data) for item in data: print item
在PyCharm上運行
比較CSV與JOSN中Python代碼的不同
1、CSV以只讀方式打開文件(文件變量),JSON讀取文件的內容后還把其保存在變量json_data中(內容變量)
2、CSV中open()返回的是一個文件對象,JSON中得到的是一個字符串
運行type()來檢測一下(使用命令行逐句輸入(注意要在數據文件路徑下運行)):
filename = 'data-text.json' type(open(filename,'rb')) type(open(filename),read())
由以上結果可以看出使用open()函數直接打開文件,獲得的是一個文件類型的數據;而使用read()讀取后獲得的是一個字符串類型