python(Mooc)--文件和數據格式化

一.文件的使用

1.1 文件的類型

  • 文本文件
  • 二進制文件

1.2 文件的打開和關閉

1.2.1 打開文件的代碼

<變量名> = open(<文件名>,<打開模式>)
  1. 文件名:直接寫文件路徑,但是python中規定"\"是轉義字符,所以一般用/ 或者\\來表示,比如"D:/PYE/f.text"或者"D:\\PYE\\f.text"
  2. 相對路徑:如果當前文件在D盤根目錄下,可以直接寫成"./PYE/f.text"。如果當前程序與當前文件在相同目錄,可以直接寫成"f.text"

1.2.2 打開文件的模式

在這裏插入圖片描述
舉例:

在這裏插入圖片描述

1.2.3 關閉文件的代碼

<變量名>.close()
//每次使用完文件應該關閉

1.3 文件內容的讀取

1.3.1 三種文件內容的讀取方法

以下描述都是基於文件內容是中國是個偉大的國家
在這裏插入圖片描述在這裏插入圖片描述

1.3.2 文件的全文本操作

  • 遍歷全文本:方法一
fname = input("請輸入要打開的文件路徑")
fo = open(fname,"r")
txt = fo.read()  //一次讀入,統一處理
#處理操作
fo.close()
  • 遍歷全文本:方法二
fname = input("請輸入要打開的文件路徑")
fo = open(fname,"r")
txt = fo.read(2)  //按數量讀入,逐步處理
while txt != " ":
	#處理操作
	txt = fo.read(2)
fo.close()
  • 逐行遍歷文件:方法一
fname = input("請輸入要打開的文件路徑:")
fo = open(fname,"r")
for line in fo.readlines():  //一次讀入,分行處理
	print(line)
fo.close()
  • 逐行遍歷文件:方法二
fname = input("請輸入要打開的文件路徑:")
fo = open(fname,"r")
for line in fo:    //分行讀入,分行處理
	print(line)
fo.close()

1.4 數據的文件寫入

在這裏插入圖片描述
在這裏插入圖片描述
舉例:

fo = open("output.text","w+")
ls = ["中國","法國","美國"]
fo.writelines(ls)
for line in fo:
	print(line)
fo.clone()
>>>(沒有任何輸出)
fo = open("output.text","w+")
ls = ["中國","法國","美國"]
fo.seek(0)
fo.writelines(ls)
for line in fo:
	print(line)
fo.clone()
>>>中國法國美國

二.實例:自動軌跡繪製

2.1 問題分析

  • 需求:根據腳本來繪製圖形
  • 不是寫代碼而是寫數據繪製軌跡
  • 數據腳本是自動化最重要的一步

2.2 代碼

import turtle as t
t.title('自動軌跡繪製')
t.setup(800, 600, 0, 0)
t.pencolor("red")
t.pensize(5)
#數據讀取
datals = []
f = open("data.txt")
for line in f:
    line = line.replace("\n","")
    datals.append(list(map(eval, line.split(","))))
f.close()
#自動繪製
for i in range(len(datals)):
    t.pencolor(datals[i][3],datals[i][4],datals[i][5])
    t.fd(datals[i][0])
    if datals[i][1]:
        t.rt(datals[i][2])
    else:
        t.lt(datals[i][2])

2.3 運行效果

在這裏插入圖片描述

三.一維數據的格式化和處理

3.1 數據組織的維度

  • 一維數據:對應列表,數據,集合
  • 二維數據:對應表格
  • 多維數據:由一維或二維數據上在新維度上擴展形成

3.2 一維數據的表示

在這裏插入圖片描述

3.3 一維數據的存儲

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

3.4 一維數據的處理

3.4.1 讀入處理

在這裏插入圖片描述
在這裏插入圖片描述

3.4.2 寫入處理

在這裏插入圖片描述
在這裏插入圖片描述

四.二維數據的格式化和處理

4.1 二維數據的表示

  • 二維列表表示
  • 使用兩層for循環遍歷元素
  • 外層列表中每個元素可以對應一行,也可以對應一列
    在這裏插入圖片描述

4.2 CSV數據存儲格式

  • CSV:conma-separated Values,指的是由逗號分隔的值
  • 國際通用的一二維數據存儲格式,一般.csv擴展名
  • 每行一個一維數據,用逗號分隔,無空行
  • Excel和一般編輯軟件都可以讀入或另存爲csv文件
  • 如果某個元素缺失,逗號仍要保留
  • 二維數據的表頭可以作爲數據存儲,也可以另行存儲
  • 逗號爲英文半角逗號,逗號與數據之間無額外空格
    在這裏插入圖片描述

4.3 二維數據的存儲

  • 一般的索引習慣:ls[行,列],先行後列,一般外層列表每個元素是一行,所以按行存

4.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)

五.wordcloud庫的使用

5.1 安裝

  • 安裝pip install wordcloud
  • wordcloud.WordCloud()代表一個文本對應的詞雲
  • 可以根據文本中詞語出現的頻率等參數繪製詞雲
  • 繪製詞雲的形狀,尺寸和顏色都可以設定

5.2 常規方法

w = wordcloud.WordCloud()
  1. 以WordCloud對象爲基礎
  2. 配置參數,加載文本,輸出文件

在這裏插入圖片描述

5.3 詞雲繪製的步驟介紹

(1)基本步驟:

  1. 配置對象參數
  2. 加載詞雲文本
  3. 輸出詞雲文件

(2)實例

import wordcloud
c = wordcloud.WordCloud()
c.generate("wordcloud by Python")
c.to_file("pywordcloud.png")

在這裏插入圖片描述

5.4 配置對象參數

w = wordcloud.WordCloud(參數)

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

5.5 實例

import wordcloud
txt = "life is short,you need python"
w = wordcloud.WordCloud(background_color = "white")
w.generate(txt)
w.to_file("pywcloud.png")

在這裏插入圖片描述

六.政府工作報告詞雲

兩篇文章的地址

https://python123.io/resources/pye/新時代中國特色社會主義.txt
https://python123.io/resources/pye/關於實施鄉村振興戰略的意見.txt
#GovRptWordCloudv1.py
import jieba
import wordcloud
f = open("新時代中國特色社會主義.txt", "r", encoding="utf-8")
 
t = f.read()
f.close()
ls = jieba.lcut(t)
 
txt = " ".join(ls)
w = wordcloud.WordCloud( \
    width = 1000, height = 700,\
    background_color = "white",
    font_path = "msyh.ttc"    
    )
w.generate(txt)
w.to_file("grwordcloud.png")

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章