《Python數(shù)據(jù)處理與分析案例教程》中職全套教學課件_第1頁
《Python數(shù)據(jù)處理與分析案例教程》中職全套教學課件_第2頁
《Python數(shù)據(jù)處理與分析案例教程》中職全套教學課件_第3頁
《Python數(shù)據(jù)處理與分析案例教程》中職全套教學課件_第4頁
《Python數(shù)據(jù)處理與分析案例教程》中職全套教學課件_第5頁
已閱讀5頁,還剩268頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Python數(shù)據(jù)應用開發(fā)全套可編輯PPT課件本課件是可編輯的正常PPT課件項目1文件采集本課件是可編輯的正常PPT課件學而不思則罔,思而不學則殆?!鬃禹椖?文件采集項目描述:文件是數(shù)據(jù)的載體,針對不同的業(yè)務需求孕育出不同格式的文件類型,如CSV、XML、JSON、XLS、XLSX等,廣泛應用于互聯(lián)網及日常辦公中,本項目介紹Python利用相關模塊訪問這些文件的基本方法。項目分析:Python提供了許多訪問不同文件類型的模塊,在訪問文件前,要熟悉并掌握相關模塊的功能及操作方法,以便快捷高效地實現(xiàn)文件數(shù)據(jù)的采集。知識目標:通過本項目的學習,掌握在Python環(huán)境下訪問CSV、XML、JSON、EXCEL等常用的文件類型。技能目標:掌握第三方模塊的安裝和使用方法,掌握CSV、XML、JSON、EXCEL等常用文件類型的讀取方法。知識儲備:了解計算機數(shù)據(jù)存儲的基本知識、磁盤文件系統(tǒng)及字符編碼。思政目標:通過對數(shù)據(jù)存儲方法的了解,培養(yǎng)學生在日常的學習和生活中,對事物進行合理規(guī)劃的意識。本課件是可編輯的正常PPT課件1.1第三方模塊

1.1.1第三方模塊的概念

每一個Python源代碼文件.py都是一個模塊,從某種意義上講,Python編程的實質就是通過調用模塊實現(xiàn)快捷高效地解決問題的目的。Python模塊可以分為三種:系統(tǒng)自帶的內置模塊、用戶自定義的模塊、第三方模塊。Python能夠得到蓬勃發(fā)展,與其擁有豐富的第三方模塊密不可分。本課件是可編輯的正常PPT課件1.1第三方模塊1.第三方模塊的安裝方法(1)使用pip命令安裝第三方模塊以Windows

系統(tǒng)為例,在系統(tǒng)命令行窗口中執(zhí)行該命令來安裝第三方模塊,格式如下:C:\>pip install <第三方模塊名> #直接下載安裝第三方模塊

pip命令是獲取安裝第三方模塊的主要方法,也是官方推薦使用的方法,適合Windows、MacOS、Linux

等多種操作系統(tǒng)。使用該命令安裝第三方模塊時,需要連網操作,從網絡上下載第三方模塊。本課件是可編輯的正常PPT課件1.1第三方模塊常用的pip命令格式:C:\>pip install -U <第三方模塊名>#將已經安裝的第三方模塊升級到最新版本C:\>pip uninstall <第三方模塊名>#卸載已安裝的第三方模塊C:\>pip download <第三方模塊名>#下載第三方模塊但不安裝C:\>pip show <第三方模塊名>#列出該第三方模塊的詳細信息C:\>pip list#列出當前系統(tǒng)已經安裝的第三方模塊C:\>pip-h或--help#顯示pip命令幫助信息

本課件是可編輯的正常PPT課件1.1第三方模塊格式說明:受網絡環(huán)境及模塊大小限制,有時模塊下載速度可能較慢,這時可以通過國內鏡像網站,如清華、阿里云等鏡像服務器下載,在命令中加入參數(shù)“-i地址”可以指定模塊的下載地址,操作命令如下: pip install-i 鏡像網址模塊名

本課件是可編輯的正常PPT課件1.1第三方模塊(2)使用集成安裝方法批量安裝第三方模塊

結合Python開發(fā)工具,通過軟件可以批量安裝第三方模塊,如Anaconda軟件。

Anaconda是Python數(shù)據(jù)處理的集成開發(fā)工具,提供若干常用的第三方模塊,包括多個主流工具,該開發(fā)工具可以從其官網下載安裝。本課件是可編輯的正常PPT課件1.1第三方模塊(3)使用文件安裝方法安裝第三方模塊

C:\Windows>pip install <文件名>

第三方模塊通常都是編譯過的,否則在pip命令下載安裝時可能會出錯,導致不能正確安裝,這時就要將該模塊下載并結合本機環(huán)境進行編譯,對編譯后的文件采用這種方式安裝。本課件是可編輯的正常PPT課件1.1第三方模塊(4)Python

中的包

通常,將功能相關的模塊放在同一個文件夾下,這個文件夾就稱為包。該文件夾下還包含一個名為

init

.py的文件,該文件有兩個作用:一是描述包的相關信息,二是Python區(qū)分包與普通文件夾的主要依據(jù)。包中還可以包含若干子包,使模塊的組織更加層次化。包的使用豐富了Python的命名空間,使項目結構清晰,在一定程度上避免了出現(xiàn)模塊重名的問題。此處的下劃線是必須的本課件是可編輯的正常PPT課件1.1第三方模塊(5)Python

中的庫

在學習Python時,經常會接觸到庫,庫在Python中并沒有一個明確的概念,具有某些功能的模塊和包可以被稱為庫,庫中也可以含有包、模塊和函數(shù)。Python全球社區(qū)提供近四十余萬個的第三方庫,隨著時間的推移,庫的數(shù)量還會繼續(xù)增加。在Python社區(qū)網站中,通過PyPI(PythonPackageIndex)可以搜索所需要的庫。當然,搜索到的適合功能需求的庫可能會有若干個,這時可以根據(jù)其功能描述,結合網絡上相關評價信息,選擇最適合自己需求的庫來安裝使用。包和庫的導入方式與模塊的導入方式相同,可參見模塊導入命令import的使用方法。

在程序中使用模塊時,必須先將模塊導入當前程序中,而第三方模塊必須事先下載安裝到本地,才可以被導入程序中。本課件是可編輯的正常PPT課件1.1第三方模塊2.模塊的導入方式(1)使用import

命令導入模塊

import模塊1,模塊2,…

import numpy #導入一個模塊

import time,

random #同時導入多個模塊import

模塊as

別名import pandas as pd #pandas

模塊別名為pd,方便應用

import matplotlib.pyplot as plt,numpy as np #同時導入多個模塊并賦予別名(2)使用from

…import

…導入模塊

from numpy import random #導入模塊中的某個子模塊本課件是可編輯的正常PPT課件Numpy、Pandas

模塊的下載與安裝

Numpy(NumericalPython)是用于科學計算、數(shù)據(jù)分析的基礎模塊,支持大量的維度數(shù)組與矩陣運算。Numpy底層使用C語言編寫,具有較高的運算效率,作為第三方模塊,可用來存儲和處理大型的矩陣,被廣泛應用于數(shù)據(jù)分析、機器學習的基礎架構中。本課件是可編輯的正常PPT課件Numpy、Pandas

模塊的下載與安裝

Numpy模塊下載安裝在Windows命令行窗口中,輸入pipinstallnumpy,實現(xiàn)下載并安裝Numpy模塊,如圖1-1所示。圖1-1Numpy

模塊安裝Pandas是一個開源的第三方模塊,是基于Numpy

庫的一個工具,主要為解決數(shù)據(jù)分析任務而創(chuàng)建的。Pandas

擁有大量的庫及一些標準的數(shù)據(jù)模型,可以高效完成大型數(shù)據(jù)集的相關操作,在數(shù)據(jù)分析中得到廣泛的應用。本課件是可編輯的正常PPT課件Numpy、Pandas

模塊的下載與安裝

Pandas模塊下載安裝在Windows命令行窗口中,輸入pipinstallpandas,實現(xiàn)下載并安裝Pandas模塊,如圖1-2所示。

圖1-2Pandas模塊安裝Numpy和Pandas作為數(shù)據(jù)應用開發(fā)的主要。工具,都支持對CSV文件的操作,后面會進一步深入學習。說一說:大數(shù)據(jù)平臺在汽車行業(yè)上的發(fā)展本課件是可編輯的正常PPT課件163

CSV

格式化數(shù)據(jù)的讀寫

CSV

格式化數(shù)據(jù)的讀寫1.CSV

文件組成

CSV是Comma-SeparatedValues的縮寫,表示逗號分隔值,有時也稱為字符分隔值,因為分隔字符也可以不是逗號。

CSV文件就是以逗號(或其他字符)分隔值,以純文本形式存儲任意數(shù)量的記錄組成,即一行存儲一條記錄,每條記錄的各值之間由逗號(或指定字符)進行分隔。通常記錄都有相同的字段序列,因為是純文本格式,所以CSV文件可以被記事本程序或表格軟件等直接讀取。由于CSV文件具有良好的可讀性,也可以作為不同軟件之間數(shù)據(jù)交互的橋梁。

CSV代表“逗號分隔值”,這是一種數(shù)據(jù)格式,其中的值通過逗號來分隔。不過,有時候它也被稱作“字符分隔值”,因為用來分隔數(shù)據(jù)的字符并不局限于逗號,還可以是其他符號。CSV文件是一種文本文件,它使用逗號或其他分隔符來區(qū)分數(shù)據(jù)中的各個值。在這種文件格式中,每條記錄占據(jù)一行,而記錄中的各個值則通過逗號或指定的分隔符來分隔。通常情況下,所有的記錄都會包含相同的字段順序。由于CSV文件是純文本格式,它們可以被文本編輯器和表格處理軟件直接打開和讀取。CSV文件的可讀性很好,因此它們常被用作不同應用程序之間交換數(shù)據(jù)的通用格式。本課件是可編輯的正常PPT課件

CSV

格式化數(shù)據(jù)的讀寫2.CSV

模塊

Python提供了CSV模塊用于處理CSV文件,如CSV文件數(shù)據(jù)的讀取、寫入等操作,該方法中常用參數(shù)所表示的含義如下。csv.reader():生成讀取CSV文件的csv._reader對象。csv.writer():生成寫入CSV文件的csv._writer對象。writer.writerow():通過writer對象寫入CSV文件一行數(shù)據(jù)。writer.writerows():通過writer對象寫入CSV文件,一次寫入多行數(shù)據(jù)。

csv.dictreader():讀取CSV數(shù)據(jù)并轉換為字典對象。csv.dictwriter():將字典對象數(shù)據(jù)寫入CSV文件。本課件是可編輯的正常PPT課件

CSV

格式化數(shù)據(jù)的讀寫3.使用CSV模塊讀取文件內容。(1)使用csv.reader()函數(shù)讀取CSV

文件使用csv.reader()函數(shù)讀取CSV

文件,其語法格式為:

csv.reader(csvfile:Iterable[str],

dialect:str|Dialect|Type[Dialect]=...,

*,delimiter:str=...,quotechar:str|None=...,escapechar:str|None=...,doublequote:bool=...,skipinitialspace:bool=...,lineterminator:str=...,quoting:int=...,

strict:bool=...)本課件是可編輯的正常PPT課件

CSV

格式化數(shù)據(jù)的讀寫csv.reader()函數(shù)中常用參數(shù)所表示的含義如下。csvfile:必選參數(shù),支持讀取操作的文件對象或數(shù)據(jù)列表

;dialect:可選參數(shù),用于定義csv文件格式;delimiter:用于分隔數(shù)據(jù)字段的字符串,默認為英文逗號“,”;

quotechar:用于帶有特殊字符(如分隔符)的字段的引用符號,默認為“””;escapechar:用于對分隔字符進行轉義的字符串;doublequote:如何處理字段內的引用符號,如果為True則雙寫;

skipinitialspace:忽略分隔符后面的空格,默認為False;

lineterminator:寫操作時的行結束符,默認為“\r\n”,讀操作時忽略該項;quoting:引用約定。本課件是可編輯的正常PPT課件

CSV

格式化數(shù)據(jù)的讀寫dialect參數(shù)使用示例:

classmy_dialect(csv.Dialect):

lineterminator=‘\n’delimiter=“|”quotechar=‘”’reader=csv.reader(fr,dialect=my_dialect)#讀取特定格式的CSV文件(數(shù)據(jù)以“|”分隔,行以

'\n'結束),當然也可以不用這個參數(shù)而直接使用其他參數(shù)來進行相關操作。

函數(shù)返回的對象是一個迭代器,每次迭代返回一行CSV文件數(shù)據(jù)(可以跨多個輸入行)。

本課件是可編輯的正常PPT課件

CSV

格式化數(shù)據(jù)的讀寫創(chuàng)建一個CSV文件sf.csv,在Excel中展現(xiàn)其內容,如圖1-3所示。

圖1-3sf.csv文件內容本課件是可編輯的正常PPT課件

CSV

格式化數(shù)據(jù)的讀寫【實例1-01】使用

csv.reader()讀取

CSV

類型文件,具體代碼如下:

import csvwith open(”sf.csv”, ’r’) ascsvfilereader=csv.reader(csvfile)For

lineinreader:print(line):#以只讀方式打開CSV

文件,采用系統(tǒng)默認編碼本課件是可編輯的正常PPT課件

CSV

格式化數(shù)據(jù)的讀寫程序輸出結果:

['學號','姓名','語文成績','數(shù)學成績','專業(yè)課成績']

['1001','李明','89','91','80']

['1002','趙海','85','76','75']

['1003','王中平','76','89','91']

['1004','博林','82','85','79']

['1005','昊古','69','92','88']

程序說明:程序通過import語句引入CSV模塊,并用open()函數(shù)打開文件,返回一個文件流對象,通過csv.reader()方法讀取文件流,生成一個可迭代的對象,再通過for循環(huán)逐行讀取該對象中的數(shù)據(jù)輸出。數(shù)據(jù)成功讀取后,就可以按照相關需求對數(shù)據(jù)做進一步的處理。本課件是可編輯的正常PPT課件

CSV

格式化數(shù)據(jù)的讀寫(2)使用csv.DictReader()讀取CSV

文件其語法格式為: DictReader( f:

Iterable[str],fieldnames:Sequence[_T],restkey:str|None=...,restval:str|None=...,dialect:Any=...,*,delimiter:str=...,quotechar:str|None=...,escapechar:str|None=...,doublequote:bool=...,skipinitialspace:bool=...,lineterminator:str=...,quoting:Any=...,strict:bool=...)該類中常用參數(shù)所表示的含義如下。

f:支持讀取的文件對象或數(shù)據(jù)列表,必須參數(shù);

fieldnames:字典健列表,如果省略該參數(shù),數(shù)據(jù)的第一行作為鍵值;delimiter:文件中數(shù)據(jù)項的分隔字符,默認為逗號;restkey:如果數(shù)據(jù)列多于fieldnames項數(shù),數(shù)據(jù)加到該健值下;restval:如果數(shù)據(jù)列小于fieldnames項數(shù),補充缺項健對應的值;其他參數(shù)可參見對csv.reader()的參數(shù)說明。

本課件是可編輯的正常PPT課件

CSV

格式化數(shù)據(jù)的讀寫【實例1-02】使用

csv.dictreader()讀取

CSV

文件,具體代碼如下:

importcsv

withopen("f:/sf.csv","r")ascsvfile:

reader=csv.dictreader(csvfile)forlineinreader:print(line)程序輸出結果:

{'學號':'1001','姓名':'李明','語文成績':'89','數(shù)學成績':'91','專業(yè)課成績':'80'}

{'學號':'1002','姓名':'趙海','語文成績':'85','數(shù)學成績':'76','專業(yè)課成績':'75'}

{'學號':'1003','姓名':'王中平','語文成績':'76','數(shù)學成績':'89','專業(yè)課成績':'91'}

{'學號':'1004','姓名':'博林','語文成績':'82','數(shù)學成績':'85','專業(yè)課成績':'79'}

{'學號':'1005','姓名':'昊古','語文成績':'69','數(shù)學成績':'92','專業(yè)課成績':'88'}本課件是可編輯的正常PPT課件

CSV

格式化數(shù)據(jù)的讀寫程序說明:程序以只讀模式打開CSV文件,用csv.DictReader()讀取文件數(shù)據(jù),并將數(shù)據(jù)轉換為字典類型,其中文件首行數(shù)據(jù)作為字典的鍵。當用該方式讀取文件內容時,首行一般是標題行,各字段分別作為字典數(shù)據(jù)的健,再逐行讀取值,構成字典數(shù)據(jù)對象。如果CSV

文件中不含有標題信息,在讀取數(shù)據(jù)時,可以指定參數(shù)fieldnames,設定鍵值,再讀取數(shù)據(jù)。本課件是可編輯的正常PPT課件

CSV

格式化數(shù)據(jù)的讀寫4.使用CSV模塊寫文件內容

(1)csv.writer()函數(shù)寫

CSV

文件其語法格式為:writer(csvfile:SupportsWrite[str],

dialect:str|Dialect|Type[Dialect]=...,delimiter:str=...,quotechar:str|None=...,escapechar:str|None=...,doublequote:bool=...,skipinitialspace:bool=...,lineterminator:str=...,quoting:int=...,strict:bool=...)csv.writer()函數(shù)中常用參數(shù)所表示的含義如下。csvfile:支持文件寫操作的文件對象;其他參數(shù)參見csv.reader()的參數(shù)說明。本課件是可編輯的正常PPT課件

CSV

格式化數(shù)據(jù)的讀寫【實例1-03】使用

csv.writer(

)寫

CSV

文件,具體代碼如下:

importcsvsfile="test1.csv"title=['TA',’TB','TC','TD','TE']D1=[11,12,13,14,15]D2=[21,22,23,24,25]

withopen(sfile,'w',encoding='utf-8',newline='')ascsvfile:writer=csv.writer(csvfile)writer.writerow(title)writer.writerow(D1)writer.writerow(D2)程序說明:程序以open()函數(shù)打開文件進行寫操作,注意參數(shù)newline,設置為空字符串,

如果該參數(shù)采用默認值,在特定環(huán)境下,會在生成文件的各行間插入空行,這不是所期望的結果,或者在csv.writer()中設置參數(shù)lineterminator=’\n’。writerow()方法每次向文件寫入一行數(shù)據(jù),使用writerows()方法也可以一次寫入多行數(shù)據(jù),如:…lstData=[D1,

D2] #嵌套列表writer.writerows(lstData) #列表lstData

中的每個元素作為一行寫入文件本課件是可編輯的正常PPT課件

CSV

格式化數(shù)據(jù)的讀寫(2)類csv.DictWriter()寫CSV

文件,其語法格式為:

DictWriter( f:SupportsWrite[str],fieldnames:Collection[_T],restval:Any|None=...,extrasaction:Literal["raise","ignore"]=...,dialect:Any=...,*,delimiter:str=...,quotechar:str|None=...,escapechar:str|None=...,doublequote:bool=...,skipinitialspace:bool=...,lineterminator:str=...,quoting:Any=...,strict:bool=...)本課件是可編輯的正常PPT課件

CSV

格式化數(shù)據(jù)的讀寫該類中常用參數(shù)所表示的含義如下。

f:支持讀取的文件對象或數(shù)據(jù)列表,必須參數(shù);

fieldnames:字典健列表,如果省略該參數(shù),數(shù)據(jù)的第一行作為鍵值;delimiter:文件中數(shù)據(jù)項的分隔字符,默認為逗號;restkey:如果數(shù)據(jù)列多于fieldnames項數(shù),數(shù)據(jù)加到該健值下;restval:如果數(shù)據(jù)列小于fieldnames項數(shù),補充缺項健對應的值;其他參數(shù)可參見對csv.reader()的參數(shù)說明。

【實例1-02】使用

csv.dictreader()讀取

CSV

文件,具體代碼如下:

importcsv

withopen("f:/sf.csv","r")ascsvfile:

reader=csv.dictreader(csvfile)forlineinreader:print(line)本課件是可編輯的正常PPT課件

CSV

格式化數(shù)據(jù)的讀寫程序輸出結果:

{'學號':'1001','姓名':'李明','語文成績':'89','數(shù)學成績':'91','專業(yè)課成績':'80'}

{'學號':'1002','姓名':'趙海','語文成績':'85','數(shù)學成績':'76','專業(yè)課成績':'75'}

{'學號':'1003','姓名':'王中平','語文成績':'76','數(shù)學成績':'89','專業(yè)課成績':'91'}

{'學號':'1004','姓名':'博林','語文成績':'82','數(shù)學成績':'85','專業(yè)課成績':'79'}

{'學號':'1005','姓名':'昊古','語文成績':'69','數(shù)學成績':'92','專業(yè)課成績':'88'}

程序說明:程序以只讀模式打開CSV文件,用csv.DictReader()讀取文件數(shù)據(jù),并將數(shù)據(jù)轉換為字典類型,其中文件首行數(shù)據(jù)作為字典的鍵。當用該方式讀取文件內容時,首行一般是標題行,各字段分別作為字典數(shù)據(jù)的健,再逐行讀取值,構成字典數(shù)據(jù)對象。如果CSV

文件中不含有標題信息,在讀取數(shù)據(jù)時,可以指定參數(shù)fieldnames,設定鍵值,再讀取數(shù)據(jù)。本課件是可編輯的正常PPT課件

CSV

格式化數(shù)據(jù)的讀寫4.使用CSV模塊寫文件內容(1)csv.writer()函數(shù)寫

CSV

文件其語法格式為:

writer(csvfile:SupportsWrite[str],dialect:str|Dialect|Type[Dialect]=...,delimiter:str=...,quotechar:str|None=...,escapechar:str|None=...,doublequote:bool=...,skipinitialspace:bool=...,lineterminator:str=...,quoting:int=...,strict:bool=...)csv.writer()函數(shù)中常用參數(shù)所表示的含義如下。csvfile:支持文件寫操作的文件對象;其他參數(shù)參見csv.reader()的參數(shù)說明。本課件是可編輯的正常PPT課件

CSV

格式化數(shù)據(jù)的讀寫【實例1-03】使用

csv.writer(

)寫

CSV

文件,具體代碼如下:importcsvsfile="test1.csv"title=['TA',’TB','TC','TD','TE']D1=[11,12,13,14,15]D2=[21,22,23,24,25]withopen(sfile,'w',encoding='utf-8',newline='')ascsvfile:writer=csv.writer(csvfile)writer.writerow(title)writer.writerow(D1)writer.writerow(D2)程序說明:程序以open()函數(shù)打開文件進行寫操作,注意參數(shù)newline,設置為空字符串,

如果該參數(shù)采用默認值,在特定環(huán)境下,會在生成文件的各行間插入空行,這不是所期望的結果,或者在csv.writer()中設置參數(shù)lineterminator=’\n’。writerow()方法每次向文件寫入一行數(shù)據(jù),使用writerows()方法也可以一次寫入多行數(shù)據(jù),如:…

lstData=[D1,

D2] #嵌套列表

writer.writerows(lstData) #列表lstData

中的每個元素作為一行寫入文件本課件是可編輯的正常PPT課件

CSV

格式化數(shù)據(jù)的讀寫(2)類csv.DictWriter()寫CSV

文件,其語法格式為:DictWriter( f:SupportsWrite[str],

fieldnames:Collection[_T],restval:Any|None=...,extrasaction:Literal["raise","ignore"]=...,dialect:Any=...,*,delimiter:str=...,quotechar:str|None=...,escapechar:str|None=...,doublequote:bool=...,skipinitialspace:bool=...,lineterminator:str=...,quoting:Any=...,strict:bool=...)本課件是可編輯的正常PPT課件

CSV

格式化數(shù)據(jù)的讀寫該方法中常用參數(shù)所表示的含義如下。

f:必選參數(shù),支持寫操作的文件對象;

fieldnames:必選參數(shù),用于表示字典中值寫入文件f的順序;

restval:如果字典中缺少fieldnames的鍵,則用該參數(shù)的值寫入文件;

extrsaction:參數(shù)取值“raise”(默認值)或“ignore”,如果傳遞給writerow()方法的字典沒有fieldnames對應的鍵,則按extraxaction參數(shù)指示操作:“raise”會引發(fā)ValueError異常,如果為“ignore”,則忽略。其他參數(shù)參見對csv.reader()的參數(shù)說明。

本課件是可編輯的正常PPT課件

CSV

格式化數(shù)據(jù)的讀寫【實例1-

04】使用

csv.DictWriter(

)寫

CSV

文件,具體代碼如下:

importcsv

title=['TA','TB','TC','TD','TE']

D1={'TA':11,'TB':12,'TC':13,'TD':14,

'TE':15}

D2={'TA':21,'TB':22,'TC':23,'TD':24,

'TE':25}

withopen("f:/csv2.csv",'w',encoding='utf8',newline='')aswcsvfile:writer=csv.DictWriter(wcsvfile,fieldnames=title)writer.writeheader() #寫入標題行writer.writerow(D1)writer.writerow(D2)本課件是可編輯的正常PPT課件

CSV

格式化數(shù)據(jù)的讀寫csv2.csv文件內容在Excel中的顯示如圖1-4所示說明:程序通過csv模塊的writeheader()方法,將列表對象title的各元素寫入文件首行,作為標題字段,title列表中各元素恰與字典對象D1、D2的鍵相匹配,再使用writerow()方法將字典對象D1、D2寫入文件,寫入過程中會自動根據(jù)鍵值進行匹配。如果數(shù)據(jù)行數(shù)較多,也可以用writerows()函數(shù)批量寫入多行數(shù)據(jù),如:…

lstData=[D1,

D2] #嵌套列表

writer.writerows(lstData) #列表lstData

中的每個元素作為一行寫入文件本課件是可編輯的正常PPT課件使用Numpy

模塊讀寫CSV

文件Numpy模塊提供了函數(shù)savetxt()和loadtxt(),可以對文本文件進行讀寫操作。

numpy.savetxt()函數(shù)支持將一維或二維數(shù)組保存到文本文件,numpy.loadtxt()函數(shù)可以從文本文件中讀取數(shù)據(jù)到一維或二維數(shù)組中,因為CSV文件本質上也是文本文件,所以可以利用這兩個函數(shù)訪問CSV類型文件。本課件是可編輯的正常PPT課件使用Numpy

模塊讀寫CSV

文件savetxt()函數(shù)其語法格式為:

numpy.savetxt(fname:Any,X:Any,fmt:...=...,delimiter:...=...,encoding:...=...)savetxt()函數(shù)中常用參數(shù)所表示的含義如下。fname:文件名或文件句柄。X:一維或二維數(shù)組對象。fmt:可選參數(shù),設置數(shù)據(jù)寫入格式,如%f、%d、%1.2e等。delimiter:可選參數(shù),設置數(shù)據(jù)分隔符,默認為空格。encoding:可選參數(shù),設置文件編碼方式。本課件是可編輯的正常PPT課件使用Numpy

模塊讀寫CSV

文件【實例1-05】Numpy

CSV

文件示例,具體代碼如下:

import numpy as np

x=y=z=np.arange(0,5,1)z=x+yy=(x,z)

np.savetxt('test1.csv',y,delimiter=',',fmt='%3d')np.savetxt('test2.csv',z,fmt='%1.2e')程序輸出結果,test1.csv內容為:

0, 1, 2, 3, 4

0, 2, 4, 6, 8

程序輸出結果,test2.csv內容為:

0.00e+00

2.00e+00

4.00e+00

6.00e+00

8.00e+00本課件是可編輯的正常PPT課件使用Numpy

模塊讀寫CSV

文件程序說明:變量y是一個二維數(shù)組,按2行5列寫入test1.csv文件中,fmt='%3d'將數(shù)值設置為3位長度的整型,savetxt()默認是以空格分隔數(shù)據(jù)的,通過設置參數(shù)delimiter使數(shù)值間以逗號作為分隔符;變量z是一維數(shù)組,數(shù)值采用科學計數(shù)法表示,保留2位小數(shù)。CSV文件本質上是文本文件,使用numpy.savetxt()方法可以將一維或二維數(shù)組保存到CSV文件中。本課件是可編輯的正常PPT課件使用Numpy

模塊讀寫CSV

文件loadtxt()函數(shù)其語法格式為:

numpy.loadtxt(fname:Any,dtype:...=...,delimiter:...=...,unpack:...=...,encoding:...=...)loadtxt()函數(shù)中常用參數(shù)所表示的含義如下。fname:文件名。

dtype:可選參數(shù),數(shù)據(jù)類型。

delimiter:可選參數(shù),數(shù)據(jù)分隔符,默認為空格。

unpack:可選參數(shù),默認值為False,如果為真值,讀取數(shù)據(jù)將寫入不同變量。encoding:可選參數(shù),編碼格式。本課件是可編輯的正常PPT課件使用Numpy

模塊讀寫CSV

文件【實例1-

06】Numpy

讀取

CSV

文件,具體代碼如下:

importnumpyasnpfin=np.loadtxt('test1.csv',delimiter=',',dtype=32,encoding='utf8')print(type(fin),'\n',fin)程序輸出結果:

<class'numpy.ndarray'>[[0123

4][02468]]程序說明:通過numpy.loadtxt()讀取CSV文件“test1.csv”,數(shù)據(jù)類型解析為32,讀取的數(shù)據(jù)保存到一個ndarray對象中,完成后可以對讀入的數(shù)據(jù)作進一步的處理。本課件是可編輯的正常PPT課件使用Pandas

模塊讀寫CSV

文件Pandas提供了read_csv()函數(shù),可以讀取CSV文件,Pandas的Series對象和DataFrame對象有

to_csv()方法,可以把數(shù)據(jù)寫入CSV文件。1.read_csv()函數(shù)其語法格式為:pandas.read_csv(filepath,delimiter,dtype,encoding)read_csv()函數(shù)中常用參數(shù)所表示的含義如下。filepath:文件名。delimiter:數(shù)據(jù)分隔符。encoding:編碼格式。dtype:讀入數(shù)據(jù)后轉換的類型。

該函數(shù)返回Series、DataFrame或TextFileReader類型對象。定義文件test1.csv的內容如下:TA,TB,TC,TD,TE11,12,13,14,1521,22,23,24,25本課件是可編輯的正常PPT課件使用Pandas

模塊讀寫CSV

文件【實例1-07】編寫程序讀取該文件,具體代碼如下:

Importpandas aspdsfile=

'test1.csv'data=pd.read_csv(sfile,delimiter=',',encoding='utf-8')print(type(data),'\n',data)0 111213 14 151 212223 24 25程序輸出結果:<class'pandas.core.frame.DataFrame'>TA TB TC TD TE程序說明:程序通過pandas.read_csv()函數(shù)讀取文件數(shù)據(jù),返回一個2行5列的二維數(shù)組,保存在一個DataFrame對象中。本課件是可編輯的正常PPT課件使用Pandas

模塊讀寫CSV

文件2.to_csv()函數(shù)其語法格式為:pandas.DataFrame.to_csv(path_or_buf,index,header)to_csv()函數(shù)中常用參數(shù)所表示的含義如下。path_or_buf:文件名或WriteBuffer[bytes|str]。

index:布爾值,是否寫入行索引,默認值

為True,寫入行索引。header:布爾值,是否寫入列索引,默認值為True,寫入列索引。

本課件是可編輯的正常PPT課件使用Pandas

模塊讀寫CSV

文件【實例1-08】在上面程序的基礎上,將讀取的數(shù)據(jù)寫入另一個

CSV

文件中,具體代碼如下:importpandasaspdsfile='test1.csv'data=pd.read_csv(sfile,delimiter=',',encoding='utf-8')print(type(data),'\n',data)data.to_csv('test2.csv',index=False) #數(shù)組寫入csv

文件程序說明:read_csv()返回一個

DataFrame對象,該對象的to_csv()方法將數(shù)據(jù)寫入文件

test2.csv中,為了不保存行索引,index參數(shù)設置為False,如果不保存列索引號,則header參數(shù)也要設置為False。通過read_csv()函數(shù)和數(shù)據(jù)對象的to_csv()方法,實現(xiàn)了Pandas與CSV文件間的數(shù)據(jù)交換,它們還提供了更多的參數(shù)設置,可以實現(xiàn)豐富的功能本課件是可編輯的正常PPT課件XML文件讀寫1.3.1XML

文件類型XML:可擴展的標記語言(ExtensibleMarkupLanguage),是一種用于標記電子文件,是具有結構性的標記語言。它可以用來標記數(shù)據(jù)、定義數(shù)據(jù)類型,是比較友好的數(shù)據(jù)承載方式。XML文件結構簡單清晰,不僅便于在不同的應用程序間交換數(shù)據(jù),也可以在不同的系統(tǒng)平臺間進行信息的傳遞。

本課件是可編輯的正常PPT課件XML文件讀寫一個典型的XML文件通常由文件序言和文件主體兩部分組成,如:

<?xmlversion="1.0"encoding="utf-8"standalone="yes"?>

<Settings>

<!--人員記錄-->

<Personcategory="COOKING">

<Name>王偉</Name>

<Sex>男</Sex>

</Person>

</Settings>本課件是可編輯的正常PPT課件XML文件讀寫文件第一行<?…?>是文件序言部分,也稱為處理指令,其中xml為XML聲明,version為文檔符合的規(guī)范,encoding為文檔字符編碼,standalone表示文檔在這一個文件里是否獨立于外部資源。文件第二行開始為文件主體部分,由根元素包裹,內含元素、數(shù)據(jù)、注釋等。其中元素是以<…>開始,中間含數(shù)據(jù)內容,以</…>結束;注釋是使用<!--…-->設置;屬性可以在元素名里添加,屬性名=“屬性值”,多個屬性間用空格分隔,可以參考上例中的category屬性設置。XML元素標記區(qū)分英文大小寫,可以包含英文字母或數(shù)字,但不能以數(shù)字或下畫線開頭,不能用xml開頭,不能包含空格或冒號。本課件是可編輯的正常PPT課件解析XML

文件Python模塊xml.etree.ElementTree可以用于解析和創(chuàng)建XML數(shù)據(jù),類ElementTree將XML表示成一棵樹,類Element表示各節(jié)點(元素)。一般對樹的遍歷,首先需要找到根節(jié)點,再依次遍歷各子節(jié)點信息,如節(jié)點的標簽名稱、屬性、文本等??梢酝ㄟ^Element.append()方法添加新節(jié)點,通過Element.clear()方法刪除節(jié)點,通過ElementTree.write()方法保存數(shù)據(jù)到XML文件中。本課件是可編輯的正常PPT課件解析XML

文件【實例1-09】讀取XML文件,并創(chuàng)建新的XML文件,具體代碼如下:

importxml.etree.ElementTreeasETxmlfile="test.xml"tree=ET.parse(xmlfile) #打開一個

XML

文檔root=tree.getroot() #獲取

XML

根節(jié)點print(root.tag,root.attrib) #顯示根節(jié)點標簽及屬性forchild

in

root: #遍歷各子節(jié)點forkinchild:

print(k.text,k.tag,k.attrib) #顯示各子節(jié)點的文本、標簽、屬性信息forname

in

root.iter('Name'): #遍歷

Name

節(jié)點信息print(name.tag,name.attrib)tree.write("test_bak.xml",encoding='utf-8',xml_declaration=True)#將內存中的樹寫入一個XML文件程序輸出結果:

Settings{}

王偉Name{}

男Sex{}

Name{}

程序說明:第1行Settings為根節(jié)點的標簽,屬性為空(輸出空字典);第2、3行輸出各子

節(jié)點的文本、標簽、屬性值;第4行輸出所有“Name”節(jié)點的標簽及屬性。本課件是可編輯的正常PPT課件解析XML

文件【實例1-10】生成

test_bak.xml

文件,具體代碼如下:<?xmlversion='1.0'encoding='utf-8'?>

<Settings>

<Personcategory="COOKING">

<Name>王偉</Name>

<Sex>男</Sex>

</Person>

</Settings>

程序說明:程序通過ElementTree類的parse方法打開一個XML文件,通過getroot()方法獲取根節(jié)點,從根節(jié)點開始遍歷各子節(jié)點相關信息,使用write()方法將樹保存到一個XML文件中。本課件是可編輯的正常PPT課件JSON

格式化數(shù)據(jù)的讀寫

JSON(JavaScript

Object

Notation),是一種輕量級的數(shù)據(jù)交換格式,因采用完全獨立的文本格式,方便閱讀和編寫,可以被多種編程語言解析使用,常見于Web

應用程序和移動應用程序等場景,被廣泛應用于程序間的數(shù)據(jù)交換。JSON數(shù)據(jù)有兩種構建方式:

“名稱/值”對組成的集合(A

collection

of

name/value

pairs),類似Python

中的字典數(shù)據(jù);如:學生信息有學號(1011)、姓名(小明)。JSON描述格式為:

{‘sno’:’1011’, ’name’:’小明’}

值的有序列表(An

ordered

list

of

values),在多數(shù)程序設計語言中理解為數(shù)組,類似Python

中的列表;本課件是可編輯的正常PPT課件JSON

格式化數(shù)據(jù)的讀寫

json

模塊

Python提供了內置模塊json來訪問JSON格式數(shù)據(jù),它提供了讀取和寫入JSON格式數(shù)據(jù)的方法,可以方便地操作JSON格式的數(shù)據(jù)。如有多個學生信息,JSON描述格式為:

[{‘sno’:’1011’,’name’:’小明’},{‘sno’:’1012’,’name’:’王?!瘆,{‘sno’:’1013’,’name’:’李紅’}]本課件是可編輯的正常PPT課件JSON

格式化數(shù)據(jù)的讀寫

1.4.2JSON

文件讀取1.dumps()函數(shù)和loads()函數(shù)

在Python中,要將數(shù)據(jù)存儲為JSON格式可以識別的數(shù)據(jù)類型,需要進行數(shù)據(jù)類型的轉換,如Python中的list、tuple類型在JSON中以array表示,dict類型以object表示,這就需要一個序列化操作過程,json模塊的dumps()函數(shù)可以完成Python數(shù)據(jù)序列化

為JSON格式的操作。dumps()函數(shù)的語法格式為:dumps(obj:Any,*,skipkeys:bool=False,ensure_ascii:bool=True,check_circular:bool=True,sort_keys:bool=False,) #返回值,字符串本課件是可編輯的正常PPT課件JSON

格式化數(shù)據(jù)的讀寫

dumps()函數(shù)中常用參數(shù)所表示的含義如下。

skipkeys:若為真,將跳過不是基本類型(str、int、float、bool、None)的dict鍵,而不是引發(fā)

TypeError。

ensure_ascii:當obj中有非ASCII字符時,如果該參數(shù)為false,這些字符可以包含在結果字符串中;如果該參數(shù)為真,則這些字符將在JSON字符串中轉義。check_circular:循環(huán)引用檢測。sort_keys:邏輯值,輸出是否按鍵進行排序。本課件是可編輯的正常PPT課件JSON

格式化數(shù)據(jù)的讀寫

【實例1-11】dumps()函數(shù)使用示例,具體代碼如下:importjsondata=[{'sno':'1011',

'name':'小明’}

,

{'sno':'1012',

'name':'王海’}

,

{'sno':'1013',

'name':'李紅'}

]strjson1=json.dumps(data) #默認中文將進行轉義print(strjson1)strjson2=json.dumps(data,sort_keys=True,

ensure_ascii=False)

#包含中文,按鍵排序print(strjson2)程序輸出結果:

[{"sno":"1011","name":"\u5c0f\u660e"},{"sno":"1012","name":"\u738b\u6d77"},{"sno":"1013","name":"\u674e\u7ea2"}][{"name":"小明","sno":"1011"},{"name":"王海","sno":"1012"},{"name":"李紅","sno":"1013"}]程序說明:通過json.dumps()函數(shù)將Python列表數(shù)據(jù)data序列化為JSON格式,并通過dumps()

函數(shù)的參數(shù)設置,改變序列化后的形式。本課件是可編輯的正常PPT課件JSON

格式化數(shù)據(jù)的讀寫

【實例1-12】loads()函數(shù)使用示例。json模塊還提供反序列化函數(shù)loads(),功能是將JSON格式的數(shù)據(jù)反序列化為Python格式數(shù)據(jù),是dumps()函數(shù)的逆向操作,具體代碼如下:import jsondata=[{'sno':'1011','name':'小明'},{'sno':'1012','name':'王海'},{'sno':'1013','name':'李紅'}]strjson=json.dumps(data,sort_keys=True,ensure_ascii=False)print(strjson)str1=json.loads(strjson)print(type(str1),'\n',str1)程序輸出結果:[{"name":"小明","sno":"1011"},{"name":"王海","sno":"1012"},{"name":"李紅","sno":"1013"}]<class'list'>[{'name':'小明','sno':'1011'},{'name':'王海','sno':'1012'},{'name':'李紅','sno':'1013'}]程序說明:json.dumps()函數(shù)將數(shù)據(jù)data序列化為JSON格式數(shù)據(jù)strjson,再通過json.loads()函數(shù)進行反序列化,轉換為Python的list數(shù)據(jù)類型。上面兩個例子在調用dumps()函數(shù)時,ensure_ascii參數(shù)設置不同的值,序列化后的結果字符串對中文的表示是不一樣的。本課件是可編輯的正常PPT課件JSON

格式化數(shù)據(jù)的讀寫

1.dump()函數(shù)和load()函數(shù)json.dumps()函數(shù)和json.loads()函數(shù)可以實現(xiàn)Python數(shù)據(jù)與JSON數(shù)據(jù)間的格式轉化,如何實現(xiàn)Python直接訪問JSON文件呢?json模塊提供了json.dump()和json.load()兩個函數(shù),前者將Python數(shù)據(jù)以JSON格式寫入JSON文件中,后者讀取JSON文件并轉化為Python格式。json.dump()函數(shù)的語法格式為:dump(obj:Any,fp:SupportsWrite[str],*,skipkeys:bool=False,ensure_ascii:bool=True,check_circular:bool=True,sort_keys:bool=False,)dump()函數(shù)的參數(shù)與dumps()函數(shù)的參數(shù)基本一致,其中fp參數(shù)為文件對象,是將序列化后的數(shù)據(jù)流寫入fp文件中,fp文件要支持寫入操作。

json.load(fp)函數(shù)讀取

fp

文件并反序列化為Python

格式數(shù)據(jù)。本課件是可編輯的正常PPT課件JSON

格式化數(shù)據(jù)的讀寫

【實例1-13】dump()函數(shù)、load()函數(shù)使用示例。具體代碼如下:importjsondata=[{'sno':'1011','name':'小明'},{'sno':'1012','name':'王海'},{'sno':'1013','name':'李紅'}]withopen('data.json','w')asfpw:json.dump(data,fpw,ensure_ascii=False) #將數(shù)據(jù)寫入json

文件withopen('data.json','r')asfpr:str1=json.load(fpr) #讀取json

文件數(shù)據(jù)print(type(str1),'\n',str1)程序輸出結果:

<class'list'>

[{'sno':'1011','name':'小明'},{'sno':'1012','name':'王海'},{'sno':'1013','name':'李紅'}]程序說明:程序創(chuàng)建data.json文件,json.dump()函數(shù)將data數(shù)據(jù)序列化為JSON格式并寫入data.json文件中,json.load()讀取data.json文件,并反序列化為列表類型,最后打印輸出。本課件是可編輯的正常PPT課件Excel

格式化數(shù)據(jù)的讀寫5.1使用xlrd

和xlwt

模塊讀寫Excel

文件Excel是比較常用的電子表格軟件,Python具有多個可以訪問Excel文件功能的模塊,其中以xlrd和xlwt兩個模塊應用最為廣泛,它們可以實現(xiàn)對Excel文件的讀、寫操作。xlrd

模塊

xlrd模塊支持.xls文件的讀取功能,不支持寫入操作。xlrd是一個第三方模塊,需要安裝后才可以導入使用,安裝可以使用pip命令,如:pip install xlrd本課件是可編輯的正常PPT課件Excel

格式化數(shù)據(jù)的讀寫xlrd

模塊的使用(1)打開Excel

文件workbook=xlrd.open_workbook(文件名)names=workbook.sheet_names() #工作表名稱列表workbook.sheet_loaded(索引) #指定索引的工作表是否導入完畢,返回邏輯值(2)獲取工作表

sheet

=

workbook.sheets()[表索引] #按索引打開工作表sheet

=

workbook.sheet_by_index(表索引) #按索引打開工作表sheet

=workbook.sheet_by_name(表名稱)

#按名稱打開工作表 #返回工作表名稱本課件是可編輯的正常PPT課件Excel

格式化數(shù)據(jù)的讀寫(3)工作表行操作sheet.nrows #返回工作表行數(shù)sheet.row(行索引) #返回由指定行所有單元格對象組成的列表sheet.row_slice(行索引) #返回由指定行所有單元格對象組成的列表sheet.row_types(row,start_col=0,

end_col=None) #返回由該行中指定單元格的數(shù)據(jù)類型組成的列表sheet.row_values(row,start_col=0,end_col=None) #返回由該行中指定單元格的數(shù)據(jù)組成的列表sheet.row_len(行索引) #返回指定行有效單元格個數(shù)(4)工作表列操作

sheet.ncols #返回工作表列數(shù)

sheet.col(col,

start_row=0,

end_row=None) #返回該列中指定單元格對象組成的列表sheet.col_slice(col,start_row=0,

end_row=None) #返回該列中指定單元格對象組成的列表sheet.col_types(col,start_row=0,

end_row=None) #返回該列中指定單元格數(shù)據(jù)類型組成的列表

sheet.col_values(col,start_row=0,

end_row=None) #返回該列中指定單元格數(shù)據(jù)組成的列表本課件是可編輯的正常PPT課件Excel

格式化數(shù)據(jù)的讀寫(5)單元格的操作

sheet.cell(行索引,

列索引) #返回指定單元格對象sheet.cell_type(行索引,

列索引) #返回指定單元格數(shù)據(jù)類型sheet.cell_value(行索引,

列索引) #返回指定單元格數(shù)據(jù)本課件是可編輯的正常PPT課件Excel

格式化數(shù)據(jù)的讀寫【實例1-14】xlrd

模塊讀取

Excel

文件示例。具體代碼如下:

import xlrdworkbook=xlrd.open_workbook("d:/技師鑒定報名表.xls")names=workbook.sheet_names()print(names)sheet=workbook.sheet_by_name('Sheet1’)print(sheet.nrows)print(sheet.ncols) print(sheet.row(0)) print(sheet.col_values(1,1,7)) print(sheet.cell(1,1))print(sheet.cell_value(1,1))本課件是可編輯的正常PPT課件Excel

格式化數(shù)據(jù)的讀寫

首字母是大寫還是小寫?xlwt

模塊xlwt模塊支持.xls文件的寫入操作,不支持讀取操作。與xlrd相類似,xlwt也是一個第三方模塊,需要安裝后才可以導入使用,可以使用pip命令安裝,如:pip install xlwtxlwt

模塊的使用(1)創(chuàng)建.xls

文件具體代碼如下:import xlwtworkbook

=

xlwt.Workbook(encoding=’ascii’) #創(chuàng)建工作簿worksheet

=

workbook.add_sheet(“Sheet1”) #創(chuàng)建工作表worksheet.write(0, 0, ’1行

1列’) #在第1行、第1列單元格寫入內容workbook.save(“D:/newExcel.xls”) #保存

Excel

文件本課件是可編輯的正常PPT課件Excel

格式化數(shù)據(jù)的讀寫

首(2)設置列寬

xlwt中列寬值的表示是以默認字體0的1/256為基本單位的,即1字符寬度值為256,2字符寬度值為256×2,如:worksheet.col(0).width=256*30 #設置列寬為30運行結果如圖1-5所示。

圖1-5

運行結果本課件是可編輯的正常PPT課件Excel

格式化數(shù)據(jù)的讀寫(3)設置行高xlwt沒有設置行高的方法,可以通過設置字體高度設置行高。style=

xlwt.easyxf(‘font:height

360;’) #18pt#row=

sheet.row(0)#row.set_style(style) #注釋掉的語句也可實現(xiàn)類似功能worksheet.row(0).set_style(style) #設置第1行高度(4)單元格合并worksheet.write_merge(2,

3,

0,

3,

”合并

3、4

行-1、4

列”) 本課件是可編輯的正常PPT課件Excel

格式化數(shù)據(jù)的讀寫(5)設置字體樣式style=xlwt.XFStyle()font=xlwt.Font()

=

“黑體” #設置字體名稱font.bold=True #字體加粗font.italic=True #設置斜體font.underline=True #設置下畫線font.colour_index=2 #設置字體顏色style.font=fontworksheet.write(1, 0, ”2行

1列”, style) (6)添加單元格邊框borders=xlwt.Borders()#設置單元格四

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論