日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CSV文件读取和处理

發布時間:2025/4/16 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CSV文件读取和处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

CSV的特點

  • 每行文本都呈現為行,字段被分隔符分隔開。這個分隔符通常是逗號,有時也是制表符。
  • 不需要使用專門的CSV軟件來導入CSV文件。使用最簡單的文本編輯器就可以打開CSV文件。
  • 對于大多數編程語言而言,讀取編寫CSV文件的程序會相對簡單。
  • 任何電子表格應用都可以用來讀取CSV文件。

使用Python對CSV文件進行讀寫

with語句介紹

通常情況下使用python進行讀文件的語句是這樣的

f = open('/Users/michael/test.txt', 'r')

如果文件打開成功,接下來,調用read()方法可以一次讀取文件的全部內容

f.read()

由于文件讀寫時都有可能產生IOError,一旦出錯,后面的f.close()就不會調用。所以,為了保證無論是否出錯都能正確地關閉文件,我們可以使用try … finally來實現:

try:f = open('/path/to/file', 'r')print(f.read()) finally:if f:f.close()

但是每次都這么寫實在太繁瑣,所以,Python引入了with語句來自動幫我們調用close()方法:

with open('/path/to/file', 'r') as f:print(f.read())

這和前面的try …finally是一樣的,但是代碼更佳簡潔,并且不必調用f.close()方法。

將CSV語句轉換為列表的方法

方法一:

import unincodecsv enrollments=[] with open('enrollments.csv','rb') as f:reader=unicodecsv.DictReader(f)for row in reader:enrollments.append(row) enrollments[0]

我們讀文件時使用DictReader()方法而不用reader()方法的原因是DictReader()方法返回的是一個字典,而用reader()方法返回的是一個迭代對象。之后將reader中的內容按行讀取,放到enrollments中。

更簡潔的方法二:

import unincodecsv with open('enrollments.csv','rb') as f:reader=unicodecsv.DictReader(f)enrollmenst=list(reader) enrollments[0]

這種方法的好處是可以省去for循環,將reader強制轉換為列表。

從CSV文件中讀取前十行并將其值存為字典

def parse_file(datafile):data=[]with open(datafile,"rb") as f:header=f.readline().splite(",")counter=0for line in f: #從新讀取十行if counter==10:breakfields=line.splite(",") #設立一個entry空字典,每次賦給data后都將這個字典清空entry={}for i,value in enumerate(fields):entry[header[i].strip()]=value.strip()data.append(entry)counter+=1return data

這段代碼中首先使用with語句打開文件,接下來讀取文件第一行的內容并按照“,”進行分割。header中的內容將作為字典的關鍵字。header[i]為header中的對應項,用strip()方法處理之后就是關鍵字。value.strip()為值。

read()、readline()和readlines()方法

這三個方法都是讀文本中的字符串,下面簡單介紹一下用法

read()

read() 每次讀取整個文件,它通常用于將文件內容放到一個字符串變量中。

readline()和readlines()

readline() 和 readlines()之間的差異是后者一次讀取整個文件對象 。

readlines()一次讀取整個文件=。并且自動將文件內容分析成一個行的列表,該列表可以由 Python 的 for… in … 結構進行處理。另一方面,readline()每次只讀取一行,通常比 readlines()慢得多。僅當沒有足夠內存可以一次讀取整個文件時,才應該使用readline()。

enumerate()函數介紹

enumerate是枚舉的意思,在python中這個函數的作用是用于遍歷序列中的元素以及它們的下標??梢杂糜趧摻ㄗ值?#xff0c;將鍵和值對應歸類。如下代碼所示(當然并不是用下面的代碼就能創建字典,index通常是提供鍵位置的索引):

list1 = ["這", "是", "一個", "測試"] for index, item in enumerate(list1):print index, item >>> 012 一個 3 測試

strip()方法介紹

strip()方法用于移除字符串頭尾指定的字符(默認為空格)。本程序中使用的strip()方法通常是用來清除文件這行的標題值或者單個值周圍無關的空白部分(空行)

更簡潔的方法

import csv def parse_csv(datafile):data=[]with open(datafile,"rb") as sd:r=csv.DictReader(sd)for line in r;data.append(line)return data

這里引入csv模塊,使用DictReader方法,直接將數據讀取為字典。DictReader方法假設所讀取的文件的第一行為標題行,將其作為鍵。
CSV官方幫助文檔

最后附上我的優達學城優惠碼:C7B2877A

總結

以上是生活随笔為你收集整理的CSV文件读取和处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 夜夜嗨一区二区三区 | 熟妇的味道hd中文字幕 | 男女做那个的全过程 | 亚州av网 | 国产aⅴ无码片毛片一级一区2 | 免费的黄色网址 | 国产无码精品在线播放 | 日本十八禁视频无遮挡 | 国产精品久久久久久久久久久久久久久 | 不卡av在线免费观看 | 性色生活片 | 亚洲天堂av女优 | 国产伦精品一区二区三区照片 | 亚洲美女操| 主播福利在线 | 极品美女啪啪 | 少妇又色又紧又黄又刺激免费 | 情侣作爱视频网站 | 好吊操免费视频 | 成人资源站 | 中国精品久久久 | bt男人天堂 | 久久久精彩视频 | 91九色成人 | 日韩色网 | 亚洲第一大网站 | 欧美男人的天堂 | 久久影视大全 | 亚洲中文字幕久久无码 | 日韩精品视频在线看 | 毛片毛片女人毛片毛片 | 一区二区三区四区精品 | 久久国产福利一区 | 日本韩国在线播放 | 操人视频免费看 | 日本女人一区二区三区 | 亚洲第99页| 久久久久一区二区 | 五月天激情影院 | 亚洲精品一区二区三区四区乱码 | 射一射| xxx麻豆| 一本色道久久综合狠狠躁的推荐 | 自拍1区 | 国产h视频在线观看 | 不许穿内裤随时挨c调教h苏绵 | 午夜免费一级片 | 色图一区 | 天堂av.com| 国产精品一区二区av白丝下载 | 亚洲av综合色区无码另类小说 | 欧美wwwwww | 亚洲国产色图 | 久久伊人中文字幕 | 亚洲成人一区二区 | 噜噜噜av | 可以看的黄色网 | 中日韩av电影 | 高清亚洲 | 欧美不卡视频在线观看 | 成人漫画网站 | www.色播.com| 国产精品suv一区二区 | 国产a视频| 91精品免费在线观看 | 男女午夜激情 | av观看网址 | 欧美日韩成人在线 | 台湾极品xxx少妇 | 大地av| 亚洲欧美日韩在线看 | 三级在线观看 | 国产欧美激情视频 | 国内毛片毛片 | 992tv成人免费视频 | 巨大胸大乳奶电影 | 成年人免费av | 日本特级黄色大片 | 伊人伊人伊人 | 久久艹影院 | www.日韩视频| 精品国产乱码久久久久久婷婷 | www.欧美.com| 97人人超| 老汉色av | 色99999 | 亚洲v欧美v | 日本免费观看视频 | 久久久男人的天堂 | 日韩大片在线免费观看 | 国产高清精品一区二区三区 | 中文字幕狠狠干 | 日本高清xxxx | 国产无 | 黄视频在线免费看 | 豆花免费跳转入口官网 | 欧美性猛交ⅹ乱大交3 | 女人高潮被爽到呻吟在线观看 | 香蕉视频啪啪 |