小編寫(xiě)這篇文章的主要目的,主要是給大家去做一個(gè)解答,主要利用python去讀取和載入數(shù)據(jù),其中包括讀取和寫(xiě)入CSV文件,具體的一些詳細(xì)內(nèi)容介紹,下面就給大家詳細(xì)解答下。
前言
CSV(Comma-Separated Values)即逗號(hào)分隔值,一種以逗號(hào)分隔按行存儲(chǔ)的文本文件,所有的值都表現(xiàn)為字符串類(lèi)型(注意:數(shù)字為字符串類(lèi)型)。如果CSV中有中文,應(yīng)以u(píng)tf-8編碼讀寫(xiě).
1.導(dǎo)入CSV庫(kù)
python中對(duì)csv文件有自帶的庫(kù)可以使用,當(dāng)我們要對(duì)csv文件進(jìn)行讀寫(xiě)的時(shí)候直接導(dǎo)入即可。
import csv
2.對(duì)CSV文件進(jìn)行讀寫(xiě)
2.1用列表形式寫(xiě)入CSV文件
語(yǔ)法:csv.writer(f):
writer支持writerow(列表)單行寫(xiě)入,和writerows(嵌套列表)批量寫(xiě)入多行,無(wú)須手動(dòng)保存。
import csv header=['name','age','QQ_num','wechat'] data=[['suliang','21','787991021','lxzy787991021']] with open('information.csv','w',encoding='utf-8',newline='')as fp: #寫(xiě) writer=csv.writer(fp) #設(shè)置第一行標(biāo)題頭 writer.writerow(header) #將數(shù)據(jù)寫(xiě)入 writer.writerows(data)
結(jié)果:
注意:打開(kāi)文件時(shí)應(yīng)指定格式為w,文本寫(xiě)入.
打開(kāi)文件時(shí),指定不自動(dòng)添加新行newline=‘’,否則每寫(xiě)入一行就或多一個(gè)空行。
2.2用列表形式讀取CSV文件
語(yǔ)法:csv.reader(f,delimiter=‘,’)
reader為生成器,每次讀取一行,每行數(shù)據(jù)為列表格式,可以通過(guò)delimiter參數(shù)指定分隔符
import csv with open('information.csv',encoding='utf-8')as fp: reader=csv.reader(fp) #獲取標(biāo)題 header=next(reader) print(header) #遍歷數(shù)據(jù) for i in reader: print(i)
結(jié)果:
讀取文件時(shí)文件路徑務(wù)必要寫(xiě)對(duì),不確定時(shí)可寫(xiě)絕對(duì)路徑。要獲取csv的內(nèi)容則需要遍歷再輸出。
2.3用字典形式寫(xiě)入csv文件
語(yǔ)法:csv.DicWriter(f):
寫(xiě)入時(shí)可使用writeheader()寫(xiě)入標(biāo)題,然后使用writerow(字典格式數(shù)據(jù)行)或writerows(多行數(shù)據(jù))
import csv header=['name','age'] data=[{'name':'suliang','age':'21'}, {'name':'xiaoming','age':'22'}, {'name':'xiaohu','age':'25'}] with open('information.csv','w',encoding='utf-8',newline='')as fp: #寫(xiě) writer=csv.DictWriter(fp,header) #寫(xiě)入標(biāo)題 writer.writeheader() #將數(shù)據(jù)寫(xiě)入 writer.writerows(data)
結(jié)果:
2.4用字典形式讀取csv文件
語(yǔ)法:csv.DicReader(f,delimiter=‘,’)
直接將標(biāo)題和每一列數(shù)據(jù)組裝成有序字典(OrderedDict)格式,無(wú)須再多帶帶讀取標(biāo)題行
import csv with open('information.csv',encoding='utf-8')as fp: reader=csv.DictReader(fp) for i in reader print(i)
結(jié)果:
附:csv讀寫(xiě)的模式
r:以讀方式打開(kāi)文件,可讀取文件信息
w:已寫(xiě)方式打開(kāi)文件,可向文件寫(xiě)入信息。如文件存在,則清空,再寫(xiě)入
a:以追加模式打開(kāi)文件,打開(kāi)文件可指針移至末尾,文件不存在則創(chuàng)建
r+:以讀寫(xiě)方式打開(kāi)文件,可對(duì)文件進(jìn)行讀和寫(xiě)操作
w+:消除文件內(nèi)容,以讀寫(xiě)方式打開(kāi)文件
a+:以讀寫(xiě)方式打開(kāi)文件,文件指針移至末尾
b:以二進(jìn)制打開(kāi)文件
結(jié)語(yǔ)
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)?lái)幫助。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/128827.html
摘要:之前在寫(xiě)一個(gè)簡(jiǎn)單的分班程序的時(shí)候,使用如下命令行讀取文件出現(xiàn)了報(bào)錯(cuò)含義為程序由于文件編碼問(wèn)題無(wú)法讀取文件。該行聲明了該程序讀取文件的編碼格式為。如仍報(bào)錯(cuò),可使用方法二解決。第二種使用命令,修改后文件出現(xiàn)亂碼。 注:該文章基于mac環(huán)境。 之前在寫(xiě)一個(gè)簡(jiǎn)單的分班程序的時(shí)候,使用如下命令行讀取csv文件, with open(city.csv) as f: lines = f.re...
摘要:如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。運(yùn)行結(jié)果以上是讀取文件的方法。為了輸出中文,我們還需要指定一個(gè)參數(shù)為,另外規(guī)定文件輸出的編碼。 上一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---30、解析庫(kù)的使用:PyQuery下一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---32、數(shù)據(jù)存儲(chǔ):關(guān)系型數(shù)據(jù)庫(kù)存儲(chǔ):MySQL 我們用解析器解析出數(shù)據(jù)之后,接下來(lái)的一步就是對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)了,保存的形式可以...
摘要:在和偉鋒探討的時(shí)候,我突然想到了可以用爬蟲(chóng)的手段,來(lái)將數(shù)據(jù)中心的數(shù)據(jù)全部爬取出來(lái)。這里做一個(gè)技術(shù)記錄,中間涉及到的知識(shí)點(diǎn)包括如何通過(guò)中的,以及維持登陸狀態(tài),以爬取不同的需要登陸以后才能查看的網(wǎng)頁(yè)。 前言說(shuō)明: 公司在2017年3月的時(shí)候開(kāi)發(fā)過(guò)一個(gè)「數(shù)據(jù)中心」,是將有贊的用戶和訂單信息通過(guò)API拉取到自己開(kāi)發(fā)的網(wǎng)站上,再結(jié)合我們自己和用戶溝通的信息,組成一個(gè)簡(jiǎn)單的用戶管理中心。數(shù)據(jù)中心雖...
摘要:一概述逗號(hào)分隔符文件是表格與數(shù)據(jù)庫(kù)操作之中最常用的輸入輸出格式。但是盡管不同規(guī)范的之中,分隔符和引用符千差萬(wàn)別,他們的格式還是大體相似的,因此制作一個(gè)可以高效處理文件中的數(shù)據(jù)同時(shí)還能將讀寫(xiě)的細(xì)節(jié)隱去的模塊并不是什么難事兒。 一、概述 CSV(逗號(hào)分隔符)文件是表格與數(shù)據(jù)庫(kù)操作之中最常用的輸入輸出格式。在RFC4180中的文件描述標(biāo)準(zhǔn)對(duì)CSV格式進(jìn)行規(guī)范之前,CSV格式文件就已經(jīng)被應(yīng)用了...
摘要:前言以下簡(jiǎn)稱是數(shù)據(jù)分析必不可少的第三方庫(kù),的出現(xiàn)一定程度上解決了運(yùn)算性能不佳的問(wèn)題,同時(shí)提供了更加精確的數(shù)據(jù)類(lèi)型。因此,理解的數(shù)據(jù)類(lèi)型對(duì)數(shù)據(jù)分析十分有幫助。一維數(shù)據(jù)由對(duì)等關(guān)系的有序或無(wú)序數(shù)據(jù)構(gòu)成,采用線性方式組織,可以用數(shù)組表示。 前言 NUMPY(以下簡(jiǎn)稱NP)是Python數(shù)據(jù)分析必不可少的第三方庫(kù),np的出現(xiàn)一定程度上解決了Python運(yùn)算性能不佳的問(wèn)題,同時(shí)提供了更加精確的數(shù)據(jù)...
閱讀 919·2023-01-14 11:38
閱讀 891·2023-01-14 11:04
閱讀 750·2023-01-14 10:48
閱讀 2039·2023-01-14 10:34
閱讀 956·2023-01-14 10:24
閱讀 833·2023-01-14 10:18
閱讀 506·2023-01-14 10:09
閱讀 583·2023-01-14 10:02