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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

csv和excel文件操作

發(fā)布時間:2023/12/29 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 csv和excel文件操作 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

csv文件讀操作

什么是csv文件

csv文件叫逗號分隔值文件

每一行內(nèi)容是通過逗號來區(qū)分出不同的列

csv文件可以直接通過excel打開,以行列的形式保存和顯示數(shù)據(jù),但是相對excel文件,它只能存儲數(shù)據(jù),不能保存公式和函數(shù)

csv讀操作

import csv

創(chuàng)建打開csv文件
""" 文件對象 = open() 文件對象.close()with open() as 文件對象:操作文件 """

舉例:

f = open('電影.csv', 'r', encoding='utf-8')
創(chuàng)建reader獲取文件內(nèi)容
""" csv.reader(文件對象) - 獲取文件內(nèi)容,并且以列表為單位返回每一行內(nèi)容 csv.DictReader(文件對象) - 獲取文件內(nèi)容,并且以字典為單位返回第2行開始的每一行內(nèi)容(字典的鍵是第一行內(nèi)容) """ import csvf = open('電影.csv', 'r', encoding='utf-8') reader1 = csv.reader(f) print(list(reader1)) reader2 = csv.DictReader(f) print(list(reader2))

csv文件寫操作

打開文件

f = open('data.csv', 'w', encoding='utf-8')

如果沒有文件,則會自動創(chuàng)建

創(chuàng)建writer對象

""" csv.writer(文件對象) - 創(chuàng)建writer對象,這個對象在寫入數(shù)據(jù)的時候一行對應(yīng)一個列表csv.DictWriter(文件對象,鍵列表) - 創(chuàng)建writer對象,以字典為單位寫入數(shù)據(jù) """
以列表為單位寫入一行內(nèi)容
writer = csv.writer(f)

一次寫入一行內(nèi)容

writer.writerow(['姓名', '出生日期', '性別', '電話']) writer.writerow(['小明', '2001', '男', '110'])

一次寫入多行內(nèi)容

writer.writerows([['小花', '2001', '女', '110'],['小華', '2001', '女', '110'] ])
以字典為單位寫入一行內(nèi)容
writer = csv.DictWriter(f, ['姓名', '出生日期', '性別', '電話'])

寫入文件頭(將字典的鍵寫入到文件開頭)

writer.writeheader()

一次寫入一行內(nèi)容

writer.writerow({'姓名': '小明', '出生日期': '2000-2-3', '性別': '男', '電話': '112'})

一次寫入多行內(nèi)容

writer.writerows([{'姓名': '小花', '出生日期': '2000-2-3', '性別': '男', '電話': '112'},{'姓名': '小華', '出生日期': '2000-2-3', '性別': '男', '電話': '112'} ])

虛擬環(huán)境

系統(tǒng)環(huán)境

安裝python就可以為計算機(jī)提供一個python的系統(tǒng)環(huán)境

虛擬環(huán)境

程序員根據(jù)需要自己創(chuàng)建的python環(huán)境

能夠創(chuàng)建虛擬環(huán)境的前提:存在系統(tǒng)環(huán)境

環(huán)境的作用

  • 提供python解釋器

  • 提供第三方庫

    虛擬環(huán)境的存在可以讓第三方庫根據(jù)類別或者項(xiàng)目分開管理

  • 使用虛擬環(huán)境的建議

  • 工作的時候:一個項(xiàng)目一個虛擬環(huán)境,并且將虛擬環(huán)境直接放在項(xiàng)目中
  • 學(xué)習(xí)的時候:一類項(xiàng)目一個虛擬環(huán)境,不同類別的虛擬環(huán)境全部放在一個地方
  • 怎么創(chuàng)建虛擬環(huán)境

    使用pycharm創(chuàng)建
    使用指令創(chuàng)建

    excel文件讀操作

    認(rèn)識excel文件

    工作簿:一個excel文件就是一個工作簿

    工作表:一個工作簿中可以有多個工作表(至少一個)

    單元格:單元格是excel文件保存數(shù)據(jù)的基本單位

    行號和列號:可以確定單元格位置

    獲取excel文件內(nèi)容

    打開excel文件創(chuàng)建工作簿對象

    openpyxl.open(excel文件路徑)

    openpyxl.load_workbook(excel文件路徑)

    import openpyxlworkbook = openpyxl.open('三國人物數(shù)據(jù).xlsx') # 或者 workbook = openpyxl.load_workbook('三國人物數(shù)據(jù).xlsx')
    獲取工作表

    工作簿對象.active - 獲取活躍表(選中的表)

    工作簿對象[工作表名稱] - 獲取指定名字對應(yīng)的工作表

    sheet1 = workbook.active print(sheet1)sheet2 = workbook['工作表名稱'] print(sheet2)

    如果要獲取工作簿中所有的工作表表名

    workbook.sheetnames

    result = workbook.sheetnames print(result)
    獲取單元格

    工作表對象.cell(行號, 列號)

    cell1 = sheet2.cell(8, 1) cell2 = sheet2.cell(12, 1) print(cell1, cell2)
    獲取單元格內(nèi)容

    單元格對象.value

    print(cell1.value) print(cell2.value)
    獲取最大行號和最大列號(保存了數(shù)據(jù)的有效行和有效列)

    工作表對象.max_row

    工作表對象.max_column

    print(sheet2.max_row) print(sheet2.max_column)

    excel文件寫操作

    注意:不管是以什么樣的方式對excel進(jìn)行寫操作,操作完成之后必須保存

    新建工作簿

    新建工作簿對象

    openpyxl.Workbook()

    例如:

    workbook = openpyxl.Workbook()
    保存

    工作簿對象.save(文件路徑)

    實(shí)際中新建工作簿的時候需要先判斷工作簿對應(yīng)的文件是否已經(jīng)存在,存在就不需要新建,不存在才新建

    法一

    try:workbook = openpyxl.open('student2.xlsx') except FileNotFoundError:workbook = openpyxl.Workbook()workbook.save('student2.xlsx')

    法二

    os.path.exists(文件路徑) - 判斷指定文件是否存在,存在返回True,不存在返回False

    import osif os.path.exists('student2.xlsx'):workbook = openpyxl.open('student2.xlsx') else:workbook = openpyxl.Workbook()workbook.save('student2.xlsx')

    工作表的寫操作

    新建工作表

    工作簿對象.create_sheet(表名, 下標(biāo))

    實(shí)際中的新建表:沒有的時候才新建,有的時候直接打開

    if 'Python' in workbook.sheetnames:sheet = workbook['Python'] else:sheet = workbook.create_sheet('Python')workbook.save('student2.xlsx')
    刪除工作表

    工作簿對象.remove(工作表對象)

    workbook.remove(workbook['Sheet1']) workbook.save('student2.xlsx')

    實(shí)際中刪除表:存在的時候才能刪

    if 'Sheet1' in workbook.sheetnames:workbook.remove(workbook['Sheet1'])workbook.save('student2.xlsx')

    單元格的寫操作

    單元格對象.value = 數(shù)據(jù)

    java_sheet = workbook['Java'] java_sheet.cell(1, 3).value = '電話' java_sheet.cell(2, 1).value = None java_sheet.cell(4, 2).value = 'stu003'workbook.save('student2.xlsx')

    總結(jié)

    以上是生活随笔為你收集整理的csv和excel文件操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。