亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python3如何操作讀寫CSV文件使用包

發布時間:2020-08-04 13:54:25 來源:億速云 閱讀:185 作者:小豬 欄目:開發技術

這篇文章主要講解了Python3如何操作讀寫CSV文件使用包,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

CSV(Comma-Separated Values)即逗號分隔值,一種以逗號分隔按行存儲的文本文件,所有的值都表現為字符串類型(注意:數字為字符串類型)。

如果CSV中有中文,應以utf-8編碼讀寫,如果要支持Excel查看,應是要用utf-8 with bom格式及utf-8-sig

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

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

writer=csv.writer(f):用來寫入數據,按行寫入,writer支持writerow(列表)單行寫入,和writerows(嵌套列表)批量寫入多行,無須手動保存。

當文件中有標題行時,可以使用header=next(reader)先獲取到第一行的數據,再進行遍歷所有的數據行。
寫入時,可以先使用writer.writerow(標題行列表),寫入標題行,再使用writer.writerows(多行數據嵌套列表),寫入多行數據(也可以逐行寫入)。

數據文件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必須在文件打開的上下文中使用,否則文件被關閉后reader無法使用
所有的數字被作為字符串,如果要使用數字格式,應使用int()/float()做相應轉換

寫入示例:

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)

注意,打開文件時應指定格式為w, 文本寫入,不支持wb,二進制寫入,當然,也可以使用a/w+/r+

打開文件時,指定不自動添加新行newline='',否則每寫入一行就或多一個空行。

如果想寫入的文件Excel打開沒有亂碼,utf-8可以改為utf-8-sig。

結果展示,result.csv內容::

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

使用字典格式的數據:DictReader, DictWriter#

注意數據必須有標題行時才能使用

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

讀取示例:

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

寫入示例:

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)

寫入結果,同result.csv

看完上述內容,是不是對Python3如何操作讀寫CSV文件使用包有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

原平市| 青州市| 扶余县| 读书| 寿阳县| 合作市| 桂平市| 辽源市| 邯郸市| 开封市| 噶尔县| 遂昌县| 太白县| 周宁县| 茂名市| 吴忠市| 莱阳市| 罗定市| 尖扎县| 海原县| 昭通市| 板桥市| 尉犁县| 米脂县| 民勤县| 威信县| 得荣县| 衡阳市| 七台河市| 怀宁县| 鄂伦春自治旗| 磐安县| 黔南| 海口市| 苏尼特右旗| 福鼎市| 股票| 汉源县| 泰来县| 大兴区| 海丰县|