国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【頭歌】——數(shù)據(jù)分析與實(shí)踐-基于Python語言的文件與文件夾管理-文本 文件處理-利用csv模塊進(jìn)行csv文件的讀寫操作

這篇具有很好參考價(jià)值的文章主要介紹了【頭歌】——數(shù)據(jù)分析與實(shí)踐-基于Python語言的文件與文件夾管理-文本 文件處理-利用csv模塊進(jìn)行csv文件的讀寫操作。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

基于Python語言的文件與文件夾管理

第1關(guān) 創(chuàng)建子文件夾

import os

def mkDir():
    # 創(chuàng)建名為 'dst' 的文件夾
    os.makedirs('dst', exist_ok=True)

# 如果文件被直接運(yùn)行,執(zhí)行測試代碼
if __name__ == "__main__":
    mkDir()
    
    # 判斷當(dāng)前文件夾中是否存在文件夾 'dst'
    if os.path.exists('dst') and os.path.isdir('dst'):
        print('mkdir success')
    else:
        print('dst does not exist')

第2關(guān) 刪除帶有只讀屬性的文件

import os
import sys

def removeFile():
    # 刪除 'src/removeme.txt' 文件
    try:
        os.remove('src/removeme.txt')
        print('remove success')
    except FileNotFoundError:
        print('remove success')
        sys.exit()
# 如果文件被直接運(yùn)行,執(zhí)行測試代碼
if __name__ == "__main__":
    removeFile()

第3關(guān) 批量復(fù)制文件夾中的所有文件

未通過本題,如果您通過了本題歡迎補(bǔ)充到評論區(qū),有時(shí)間我會整理進(jìn)來文章來源地址http://www.zghlxwxcb.cn/news/detail-823741.html






文件處理

第1關(guān) 讀取宋詞文件,根據(jù)詞人建立多個(gè)文件

import shutil
import os
if os.path.exists("wjcl/src/step3/cr"):
    shutil.rmtree("wjcl/src/step3/cr")
os.mkdir("wjcl/src/step3/cr")
f1=open("wjcl/src/step1/宋詞.txt",'r')
#代碼開始
#os.chdir("wjcl/src/step3/cr")
for line in f1.readlines():#逐行讀取文件
    k=0
    if " "in line:
        k=1
        pos=line.find(" ")#pos為冒號所在位置
        pos1=line.find("\n")
        xm=line[pos+1:pos1]#截取姓名
        if xm !="": f2=open('wjcl/src/step3/cr/'+xm+".txt",'a+')#以追加的方式打開文件xm.txt(不存在就新建,存在就打開)
        if len(line.strip("\n").strip())>0:
          f2.write(line)#將讀出的內(nèi)容寫入文件
    if len(line.strip("\n").strip()) > 0 and k !=1:
        f2.write(line)  # 將讀出的內(nèi)容寫入文件




#代碼結(jié)束
f1.close()
f2.close()

第2關(guān) 讀取宋詞文件,并根據(jù)詞人建立多個(gè)文件夾

import os
import shutil
if os.path.exists("wjcl/src/step4/sccr"):
    shutil.rmtree("wjcl/src/step4/sccr")
os.mkdir("wjcl/src/step4/sccr")
f1=open("wjcl/src/step1/宋詞.txt",'r')
#代碼開始
for line in f1.readlines():#逐行讀取文件
    k=0
    if " "in line:
        k=1
        pos=line.find(" ")#pos為冒號所在位置
        pos1=line.find("\n")
        xm=line[pos+1:pos1]#截取姓名
        if not os.path.exists("wjcl/src/step4/sccr/"+xm):os.mkdir("wjcl/src/step4/sccr/"+xm)#以追加的方式打開文件xm.txt(不存在就新建,存在就打開)
f1.close()

#代碼結(jié)束
                

第3關(guān) 讀取宋詞文件,建立多個(gè)詞人文件夾,為每首詞在文件夾下建立文本文件

import os
import shutil
if  os.path.exists("wjcl/src/step5/cr"):
    shutil.rmtree("wjcl/src/step5/cr")
os.mkdir("wjcl/src/step5/cr")
f1=open("wjcl/src/step1/宋詞.txt",'r')
#代碼開始
list_str = f1.readlines()
temp_str = ''
name = ''
for s in list_str:
    if s.find(' ') != -1:
        if len(temp_str) == 0:
            temp_str += s
        else:
            if name == '':
                name = s
            file_path = 'wjcl/src/step5/cr/' + name[name.find(' ') + 1:-1]
            if not os.path.exists(file_path):
                os.mkdir(file_path)
            title_path = file_path + '/' + name[0:name.find(' ')] + '.txt'
            f2 = open(title_path, 'a+', encoding='utf-8')
            f2.write(temp_str)
            f2.close()
            temp_str = s
        name = s
    else:
        temp_str += s
file_path = 'wjcl/src/step5/cr/' + name[name.find(' ') + 1:-1]
if not os.path.exists(file_path):
    os.mkdir(file_path)
title_path = file_path + '/' + name[0:name.find(' ')] + '.txt'
f2 = open(title_path, 'a+', encoding='utf-8')
f2.write(temp_str)
f2.close()
f1.close()
#代碼結(jié)束

第4關(guān) 文件的統(tǒng)計(jì)

import os
wjzd={}
wjsize={}
lj="wjcl/src/test"
#代碼開始

def get_size_type(f_path):
    global lj
    files_name = os.listdir(f_path)
    for name in files_name:
        file_path = os.path.join(f_path, name)
        ty = str(os.path.splitext(file_path)[1]).strip('.')
        if os.path.isdir(file_path):
            get_size_type(file_path)
        if not ty or ty == 'gitkeep':
            continue
        else:
            wjzd.setdefault(ty, 0)
            wjzd[ty] += 1
            wjsize.setdefault(ty, 0)
            wjsize[ty] += os.path.getsize(file_path)
get_size_type(lj)
ans = ['txt', 'mp3', 'jpg', 'pptx']

#代碼結(jié)束
for x in ans:
    print("文件類型{}文件數(shù){}文件大小{:.2f}KB".format(x,wjzd[x],wjsize[x]/1024))

第5關(guān) 文件的移動

import os
import shutil
wj={"圖片":".jpeg.jpg.png.jfif","文檔":".txt.docx.pdf","音樂":".mp3.wav","影像":".mp4.flv"}
lj1="wjcl/src/test2"
lj="wjcl/src/test3"
if os.path.exists(lj):
    shutil.rmtree(lj)  
shutil.copytree(lj1,lj)
#代碼開始
def move_file(path):
    if not os.path.exists(lj + path):
            os.mkdir(lj + path)
    shutil.move(file_path, lj + path)
files = os.listdir(lj)
for name in files:
    file_path = os.path.join(lj, name)
    ty = str(os.path.splitext(name)[1])
    if ty == '.gitkeep' or name == '.gitkeep':
        continue
    if wj['圖片'].find(ty) != -1:
        move_file('/img')
    elif wj['文檔'].find(ty) != -1:
        move_file('/idoc')
    elif wj['音樂'].find(ty) != -1:
        move_file('/music')
    elif wj['影像'].find(ty) != -1:
        move_file('/video')
#代碼結(jié)束
#for x in os.listdir(lj):
#   if x!=".gitkeep":
#        print(os.listdir(lj+"/"+x))
l = [['青城山.png', '杜甫草堂.png', '春熙路圖集3.jfif', 'ifs大熊貓.jpg', '春熙路圖集2.jpeg', '基地1.jpg', '春熙路圖集1.jfif'],
['學(xué)院設(shè)置.docx', '昆明.docx', '考題四.pdf', '琵琶行并序.txt', '考題一.pdf'],
['pq.flv', '七彩丹霞視頻.mp4', '云南十八怪_.mp4'],
['花兒尕戀手令.mp3', 'add.wav', 'score.wav', '山歌好比春江水.mp3']]
for n in l:
    print(n)
#代碼結(jié)束




利用csv模塊進(jìn)行csv文件的讀寫操作

第1關(guān) csv文件的讀操作

import csv    #導(dǎo)入csv模塊
   
########## Begin ##########
contents=[]
filename='project/iris.csv'
csv_file=open(filename,mode='r',encoding='utf-8')
reader=csv.reader(csv_file)
for item in reader:
    contents.append(item)                            #打開數(shù)據(jù)集的文件,file是相應(yīng)的文件句柄
                            #讀取數(shù)據(jù),把數(shù)據(jù)放在contents中
########## End ##########


for line in contents:    #打印文件內(nèi)容
    ########## Begin ##########
    print(line)
    ########## End ##########
line_num=len(contents)
print(line_num)

第2關(guān) csv文件的寫操作

import csv


########## Begin ##########
filename='project/students.csv'
csvfile2=open(filename,'w',newline='')
writer2=csv.writer(csvfile2)                            #打開文件,newline是否換行的參數(shù)
                            #如果不指定newline='',則每寫入一行將有一空行被寫入

########## End ##########

row=["序號","學(xué)號","姓名","性別","學(xué)院"]
rows=[[1,"1409090312","張雨","女","計(jì)算機(jī)學(xué)院"],
      [2,"1409103265","陳敢","男","理學(xué)院"],
      [3,"1509111023","李家祥","女","計(jì)算機(jī)學(xué)院"],
      [4,"1409090311","鄧貴","男","理學(xué)院"],
     ]

########## Begin ##########
writer2.writerow(row)
writer2.writerows(rows)
row1=['1',"1409090312","張雨","女","計(jì)算機(jī)學(xué)院"]
row2=['2',"1409103265","陳敢","男","理學(xué)院"]
row3= ['3',"1509111023","李家祥","女","計(jì)算機(jī)學(xué)院"]
row4=['4',"1409090311","鄧貴","男","理學(xué)院"]                          #將row和rows寫入文件
print(row)
print(row1)
print(row2)
print(row3)
print(row4,end='')
# for item in rows
#       print(item)

# filename='project/students.csv'
# with open(filename,'r')as file:
#       csv_reader=csv.reader(file)
#       for row in csv_reader:
#             print(row)
########## End ##########




到了這里,關(guān)于【頭歌】——數(shù)據(jù)分析與實(shí)踐-基于Python語言的文件與文件夾管理-文本 文件處理-利用csv模塊進(jìn)行csv文件的讀寫操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 頭歌平臺python數(shù)據(jù)分析——(9)Matplotlib圖形配置

    頭歌平臺python數(shù)據(jù)分析——(9)Matplotlib圖形配置

    ,根據(jù)輸入數(shù)據(jù)繪制熱成像圖并隱藏坐標(biāo)軸,具體要求如下: 圖形的figsize為(10, 10); 圖形保存到Task1/img/T1.png。 根據(jù)函數(shù)參數(shù)file_name讀取文件,統(tǒng)計(jì)每年births的總和并作折線圖,為最高/最低出生數(shù)年份設(shè)置注釋,具體要求如下: 對數(shù)據(jù)進(jìn)行去空值處理; 注釋文字的坐標(biāo)位置

    2024年02月10日
    瀏覽(170)
  • [數(shù)據(jù)挖掘、數(shù)據(jù)分析] clickhouse在go語言里的實(shí)踐

    [數(shù)據(jù)挖掘、數(shù)據(jù)分析] clickhouse在go語言里的實(shí)踐

    [數(shù)據(jù)挖掘] clickhouse在go語言里的實(shí)踐 [數(shù)據(jù)挖掘] 用戶畫像平臺構(gòu)建與業(yè)務(wù)實(shí)踐 今天給大家介紹一款OLAP大數(shù)據(jù)處理軟件 clickhouse ,在業(yè)界它有一個(gè)榮譽(yù),那就是”快“,當(dāng)然此快不是開車快的意思,是指clickhouse在大數(shù)據(jù)量級的查詢方面,對比Spark 、MySQL 、Hive 、Hadoop,速度有

    2024年02月08日
    瀏覽(18)
  • 基于大數(shù)據(jù)的可視化:數(shù)據(jù)分析和展示的最佳實(shí)踐

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) 隨著互聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)、大數(shù)據(jù)等技術(shù)的廣泛應(yīng)用,用戶對于各種各樣的數(shù)據(jù)已經(jīng)產(chǎn)生了海量的需求。數(shù)據(jù)呈現(xiàn)的形式也變得越來越多樣化,包括報(bào)表、圖表、地圖、流程圖、模型等。而如何將這些數(shù)據(jù)可視化、交流和傳播,是一個(gè)重要的方

    2024年02月09日
    瀏覽(21)
  • 【案例實(shí)踐】R語言多元數(shù)據(jù)統(tǒng)計(jì)分析在生態(tài)環(huán)境中的實(shí)踐應(yīng)用

    【案例實(shí)踐】R語言多元數(shù)據(jù)統(tǒng)計(jì)分析在生態(tài)環(huán)境中的實(shí)踐應(yīng)用

    查看原文R語言生物群落分析繪圖、多元統(tǒng)計(jì)分析、CMIP6、遙感碳儲量、GEE林業(yè)、InVEST等 生態(tài)環(huán)境領(lǐng)域研究中常常面對眾多的不同類型的數(shù)據(jù)或變量,當(dāng)要同時(shí)分析多個(gè)因變量(y)時(shí)需要用到多元統(tǒng)計(jì)分析(multivariate statistical analysis)。多元統(tǒng)計(jì)分析內(nèi)容豐富,應(yīng)用廣泛,是

    2023年04月12日
    瀏覽(18)
  • R語言生物群落(生態(tài))數(shù)據(jù)統(tǒng)計(jì)分析與繪圖實(shí)踐技術(shù)應(yīng)用

    R 語言作的開源、自由、免費(fèi)等特點(diǎn)使其廣泛應(yīng)用于生物群落數(shù)據(jù)統(tǒng)計(jì)分析。生物群落數(shù)據(jù)多樣而復(fù)雜,涉及眾多統(tǒng)計(jì)分析方法。以生物群落數(shù)據(jù)分析中的最常用的統(tǒng)計(jì)方法回歸和混合效應(yīng)模型、多元統(tǒng)計(jì)分析技術(shù)及結(jié)構(gòu)方程等數(shù)量分析方法為主線,通過多個(gè)來自經(jīng)典研究中

    2024年02月08日
    瀏覽(21)
  • 頭歌:共享單車之?dāng)?shù)據(jù)分析

    第1關(guān)?統(tǒng)計(jì)共享單車每天的平均使用時(shí)間 第2關(guān)?統(tǒng)計(jì)共享單車在指定地點(diǎn)的每天平均次數(shù) ? 第3關(guān)?統(tǒng)計(jì)共享單車指定車輛每次使用的空閑平均時(shí)間 ? 第4關(guān)?統(tǒng)計(jì)指定時(shí)間共享單車使用次數(shù) ? 第5關(guān)?統(tǒng)計(jì)共享單車線路流量

    2024年02月20日
    瀏覽(33)
  • 【大數(shù)據(jù) | 綜合實(shí)踐】大數(shù)據(jù)技術(shù)基礎(chǔ)綜合項(xiàng)目 - 基于GitHub API的數(shù)據(jù)采集與分析平臺

    【大數(shù)據(jù) | 綜合實(shí)踐】大數(shù)據(jù)技術(shù)基礎(chǔ)綜合項(xiàng)目 - 基于GitHub API的數(shù)據(jù)采集與分析平臺

    ???♂? 個(gè)人主頁: @AI_magician ??主頁地址: 作者簡介:CSDN內(nèi)容合伙人,全棧領(lǐng)域優(yōu)質(zhì)創(chuàng)作者。 ?????景愿:旨在于能和更多的熱愛計(jì)算機(jī)的伙伴一起成長!!????? ???♂?聲明:本人目前大學(xué)就讀于大二,研究興趣方向人工智能硬件(雖然硬件還沒開始玩,但一直

    2024年02月08日
    瀏覽(31)
  • 【R語言數(shù)據(jù)分析】基于R語言對中、美兩國GDP分析(R語言大作業(yè))

    【R語言數(shù)據(jù)分析】基于R語言對中、美兩國GDP分析(R語言大作業(yè))

    目錄 一、研究意義 二、數(shù)據(jù)來源 三、讀取數(shù)據(jù) 讀取數(shù)據(jù)代碼 運(yùn)行結(jié)果截圖 四、數(shù)據(jù)分析繪制箱線圖 建立箱線圖代碼 運(yùn)行結(jié)果截圖? 五、建立回歸模型 建立回歸模型代碼 ?運(yùn)行結(jié)果截圖 有關(guān)于相關(guān)系數(shù)的計(jì)算與檢驗(yàn) ?六、回歸分析 確定回歸方程 七、預(yù)測中國和美國未來

    2024年02月03日
    瀏覽(91)
  • Python數(shù)據(jù)分析:NumPy、Pandas和Matplotlib的使用和實(shí)踐

    Python數(shù)據(jù)分析:NumPy、Pandas和Matplotlib的使用和實(shí)踐

    在現(xiàn)代數(shù)據(jù)分析領(lǐng)域中,Python已成為最受歡迎的編程語言之一。Python通過龐大的社區(qū)和出色的庫支持,成為了數(shù)據(jù)科學(xué)家和分析師的首選語言。在Python的庫中,NumPy、Pandas和Matplotlib是三個(gè)最為重要的庫,它們分別用于處理數(shù)值數(shù)組、數(shù)據(jù)處理和可視化。本文將介紹這三個(gè)庫的

    2024年02月04日
    瀏覽(30)
  • Spark內(nèi)容分享(二十七):阿里云基于 Spark 的云原生數(shù)據(jù)湖分析實(shí)踐

    Spark內(nèi)容分享(二十七):阿里云基于 Spark 的云原生數(shù)據(jù)湖分析實(shí)踐

    目錄 Spark 與云原生的結(jié)合 1. 傳統(tǒng) Spark 集群的痛點(diǎn) 2. Spark 與云原生結(jié)合的優(yōu)勢 Spark on K8s 原理介紹 1. Spark 的集群部署模式 2. Spark on K8s 的部署架構(gòu) 3. Spark on K8s 部署架構(gòu)——對比 4. Spark on K8s 社區(qū)進(jìn)展 5. Spark 3.3 新特性介紹 Spark on K8s 在阿里云 EMR 上的實(shí)踐 1. EMR Spark on ACK 2. 充分

    2024年01月15日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包