最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python3操作讀寫(xiě)CSV文件使用包過(guò)程解析

 更新時(shí)間:2020年04月10日 10:08:15   作者:臨淵  
這篇文章主要介紹了Python3操作CSV文件使用包過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

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ě),如果要支持Excel查看,應(yīng)是要用utf-8 with bom格式及utf-8-sig

Python3操作CSV文件使用自帶的csv包

reader=csv.reader(f, delimiter=','):用來(lái)讀取數(shù)據(jù),reader為生成器,每次讀取一行,每行數(shù)據(jù)為列表格式,可以通過(guò)delimiter參數(shù)指定分隔符

writer=csv.writer(f):用來(lái)寫(xiě)入數(shù)據(jù),按行寫(xiě)入,writer支持writerow(列表)單行寫(xiě)入,和writerows(嵌套列表)批量寫(xiě)入多行,無(wú)須手動(dòng)保存。

當(dāng)文件中有標(biāo)題行時(shí),可以使用header=next(reader)先獲取到第一行的數(shù)據(jù),再進(jìn)行遍歷所有的數(shù)據(jù)行。
寫(xiě)入時(shí),可以先使用writer.writerow(標(biāo)題行列表),寫(xiě)入標(biāo)題行,再使用writer.writerows(多行數(shù)據(jù)嵌套列表),寫(xiě)入多行數(shù)據(jù)(也可以逐行寫(xiě)入)。

數(shù)據(jù)文件data.csv:

name,password
abc,123456
張五,123#456
張#abc123,123456
666,123456
a b,123456

讀取示例:

import csv
with open('data.csv', encoding='utf-8') as f:
  reader = csv.reader(f)
  header = next(reader)
  print(header)
  for row in reader:
    print(row)

注意:reader必須在文件打開(kāi)的上下文中使用,否則文件被關(guān)閉后reader無(wú)法使用
所有的數(shù)字被作為字符串,如果要使用數(shù)字格式,應(yīng)使用int()/float()做相應(yīng)轉(zhuǎn)換

寫(xiě)入示例:

import csv
header = ['name', 'password', 'status']
data = [
  ['abc', '123456', 'PASS'],
  ['張五', '123#456', 'PASS'],
  ['張#abc123', '123456', 'PASS'],
  ['666', '123456', 'PASS'],
  ['a b', '123456', 'PASS']
]
with open('result.csv', 'w', encoding='utf-8', newline='') as f:
  writer = csv.writer(f)
  writer.writerow(header)
  writer.writerows(data)

注意,打開(kāi)文件時(shí)應(yīng)指定格式為w, 文本寫(xiě)入,不支持wb,二進(jìn)制寫(xiě)入,當(dāng)然,也可以使用a/w+/r+

打開(kāi)文件時(shí),指定不自動(dòng)添加新行newline='',否則每寫(xiě)入一行就或多一個(gè)空行。

如果想寫(xiě)入的文件Excel打開(kāi)沒(méi)有亂碼,utf-8可以改為utf-8-sig。

結(jié)果展示,result.csv內(nèi)容::

name,password,status
abc,123456,PASS
張五,123#456,PASS
張#abc123,123456,PASS
666,123456,PASS
a b,123456,PASS

使用字典格式的數(shù)據(jù):DictReader, DictWriter#

注意數(shù)據(jù)必須有標(biāo)題行時(shí)才能使用

reader=csv.DictReader(f):直接將標(biāo)題和每一列數(shù)據(jù)組裝成有序字典(OrderedDict)格式,無(wú)須再單獨(dú)讀取標(biāo)題行
writer=csv.DictWriter(f, 標(biāo)題行列表):寫(xiě)入時(shí)可使用writer.writeheader()寫(xiě)入標(biāo)題,然后使用writer.writerow(字典格式數(shù)據(jù)行)或write.writerows(多行數(shù)據(jù))

讀取示例:

import csv
with open('data.csv', encoding='utf-8') as f:
  reader = csv.DictReader(f)
  for row in reader:
    print(row['name'], row['password'])

寫(xiě)入示例:

import csv

header = ['name', 'password', 'status']

data = [
  {'name':'abc', 'password':'123456', 'status':'PASS'},
  {'name':'張五', 'password':'123#456', 'status':'PASS'},
  {'name':'張#abc123', 'password':'123456', 'status':'PASS'},
  {'name':'666', 'password':'123456', 'status':'PASS'},
  {'name':'a b', 'password':'123456', 'status':'PASS'}
]


with open('result2.csv', 'w', encoding='utf-8', newline='') as f:
  writer = csv.DictWriter(f, header)
  writer.writeheader()
  writer.writerows(data)

寫(xiě)入結(jié)果,同result.csv

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于python實(shí)現(xiàn)檢索標(biāo)記敏感詞并輸出

    基于python實(shí)現(xiàn)檢索標(biāo)記敏感詞并輸出

    這篇文章主要介紹了基于python實(shí)現(xiàn)檢索敏感詞并輸出,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Flask-Mail用法實(shí)例分析

    Flask-Mail用法實(shí)例分析

    這篇文章主要介紹了Flask-Mail用法,結(jié)合實(shí)例形式分析了Flask-Mail的安裝、配置參數(shù)及簡(jiǎn)單使用技巧,需要的朋友可以參考下
    2018-07-07
  • 用pip給python安裝matplotlib庫(kù)的詳細(xì)教程

    用pip給python安裝matplotlib庫(kù)的詳細(xì)教程

    這篇文章主要介紹了用pip給python安裝matplotlib庫(kù)的詳細(xì)教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • Python數(shù)字圖像處理代數(shù)之加減乘運(yùn)算

    Python數(shù)字圖像處理代數(shù)之加減乘運(yùn)算

    這篇文章主要介紹了Python數(shù)字圖像處理代數(shù)運(yùn)算,對(duì)其中的加、減、乘運(yùn)算分別作了詳細(xì)的講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-09-09
  • Python3中FuzzyWuzzy庫(kù)實(shí)例用法

    Python3中FuzzyWuzzy庫(kù)實(shí)例用法

    在本篇文章中小編給各位整理了關(guān)于Python3z中FuzzyWuzzy庫(kù)實(shí)例用法及相關(guān)代碼,有興趣的朋友們可以參考下。
    2020-11-11
  • Python接口自動(dòng)化之淺析requests模塊get請(qǐng)求

    Python接口自動(dòng)化之淺析requests模塊get請(qǐng)求

    這篇文章主要介紹了requests模塊get請(qǐng)求,在Python語(yǔ)言中,雖然提供了urllib2和urllib的庫(kù),但是相比較而言,Requests仍然是實(shí)現(xiàn)接口測(cè)試最好的選擇,因?yàn)樗怯闷饋?lái)更加簡(jiǎn)便
    2021-08-08
  • 深入了解如何基于Python讀寫(xiě)Kafka

    深入了解如何基于Python讀寫(xiě)Kafka

    這篇文章主要介紹了深入了解如何基于Python讀寫(xiě)Kafka,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Python dash-fastapi前后端搭建過(guò)程

    Python dash-fastapi前后端搭建過(guò)程

    項(xiàng)目中需要快速搭建一個(gè)前后端系統(tǒng),涉及到dash-fastapi架構(gòu)的時(shí)候,對(duì)該架構(gòu)的時(shí)候進(jìn)行總結(jié),本文主要總結(jié)的是對(duì)該架構(gòu)的基本使用,后續(xù)再對(duì)該架構(gòu)的項(xiàng)目源碼進(jìn)行總結(jié)分析,感興趣的朋友一起看看吧
    2025-03-03
  • Python中創(chuàng)建包和增添包的路徑(sys.path.append())

    Python中創(chuàng)建包和增添包的路徑(sys.path.append())

    本文主要介紹了Python中創(chuàng)建包和增添包的路徑(sys.path.append()),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • Python實(shí)現(xiàn)保證只能運(yùn)行一個(gè)腳本實(shí)例

    Python實(shí)現(xiàn)保證只能運(yùn)行一個(gè)腳本實(shí)例

    這篇文章主要介紹了Python實(shí)現(xiàn)保證只能運(yùn)行一個(gè)腳本實(shí)例,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-06-06

最新評(píng)論

方城县| 革吉县| 如东县| 云阳县| 金塔县| 昌宁县| 武陟县| 阿勒泰市| 茌平县| 景谷| 邵东县| 赞皇县| 宁都县| 清丰县| 十堰市| 古浪县| 乌恰县| 和政县| 宝清县| 吉林省| 多伦县| 博客| 平定县| 阿拉善左旗| 邢台市| 灌南县| 广灵县| 宝鸡市| 宝丰县| 泰兴市| 松原市| 清徐县| 贵定县| 太仆寺旗| 育儿| 上高县| 新竹县| 策勒县| 铜陵市| 册亨县| 靖州|