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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python3对Excel表格操作(写入、追加)

發布時間:2023/12/18 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python3对Excel表格操作(写入、追加) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

python3 對Excel操作

方法有很多,pandas可以讀取Excel數據,創建Excel表格,寫入數據,但是好像不能實現追加,后寫入的數據會覆蓋到以前數據;xlrd、xlwt、xlutils可是實現對xls格式的表格數據的讀取、寫入以及修改(如:追加);openpyxl可以實現對xlsx格式的表格數據進行讀、寫、修改等操作。本例僅以表格的寫入與追加為例,簡單說明一下Python對Excel的操作,詳細可參考上面這些工具包的說明文檔。

import pandas as pd import numpy as np df = pd.DataFrame({'name': ['Jack', 'kate', 'Jim', 'Steve', 'Mike', 'Lucy'],'Gender': ['M', 'F', 'M', 'M', 'M', 'F'],'Age': [17, 15, 22, 34, 18, 23],'Height': [173, 168, 164, 180, 182, 190],'Hobby': ['Reading', 'Music', 'Football', 'Reading', 'Cooking', 'Running']} ) df nameGenderAgeHeightHobby012345
JackM17173Reading
kateF15168Music
JimM22164Football
SteveM34180Reading
MikeM18182Cooking
LucyF23190Running

df1 = df.copy()
df2 = df.copy()
df3 = df.copy()

df的追加,設置ignore_index=True可以自動遞增索引號

df4 = df.append(df1, ignore_index=True) df4 nameGenderAgeHeightHobby01234567891011
JackM17173Reading
kateF15168Music
JimM22164Football
SteveM34180Reading
MikeM18182Cooking
LucyF23190Running
JackM17173Reading
kateF15168Music
JimM22164Football
SteveM34180Reading
MikeM18182Cooking
LucyF23190Running

操作xls格式的表格

import xlrd # 讀取 import xlwt # 寫入 from xlutils.copy import copy # 修改(追加寫入):xlutilsdef write2xls(path, sheetname, value):index = len(value) # 獲取需要寫入數據的行數workbook = xlwt.Workbook() # 創建一個工作簿sheet = workbook.add_sheet(sheetname) # 在工作簿中新建一個表格for i in range(index):for j in range(len(value[i])):sheet.write(i, j, value[i][j]) # 向表格中寫入數據(對應的行和列)workbook.save(path)print("xls格式表格寫入成功!")def append2xls(path, sheetname, value):index = len(value) # 獲取需要寫入的數據的行數workbook = xlrd.open_workbook(path) # 打開工作簿 # sheets = workbook.sheet_names() # 獲取工作簿里的所有表格worksheet = workbook.sheet_by_name(sheetname) # 獲取工作簿中所有表格中的第一個表格rows_old = worksheet.nrows # 獲取表格中已存在的數據的行數new_workbook = copy(workbook) # 將xlrd對象拷貝轉化為xlwt對象new_worksheet = new_workbook.get_sheet(0) # 獲取轉化后工作簿中的第一個表格for i in range(index):for j in range(len(value[i])):new_worksheet.write(i+rows_old, j, value[i][j]) # 追加寫入數據,注意從 i+rows_old 行開始new_workbook.save(path)print("xls格式表格追加寫入成功!")column_name = np.array([df4.columns])write2xls(path='./zx_test.xls', sheetname='text', value=column_name)append2xls(path='./zx_test.xls', sheetname='text', value=df1.to_numpy()) append2xls(path='./zx_test.xls', sheetname='text', value=df4.to_numpy()) xls格式表格寫入成功! xls格式表格追加寫入成功! xls格式表格追加寫入成功!

操作xlsx格式的表格文件

import openpyxldef write2xlsx(path, sheetname, value):index = len(value)workbook = openpyxl.Workbook() # 實例化sheet = workbook.active # 激活worksheetsheet.title = sheetnamefor i in range(index):for j in range(len(value[i])):sheet.cell(row=i+1, column=j+1, value=str(value[i][j]))workbook.save(path)print("xlsx格式表格數據寫入成功!")def append2xlsx(path, sheetname, value):index = len(value)workbook = openpyxl.load_workbook(path)sheet = workbook[sheetname]for i in range(index):sheet.append(list(value[i])) # append的內容必須是可迭代對象,里面的value必須是str類型workbook.save(path)print("xlsx格式表格數據追加成功!") column_name = np.array([df4.columns]) write2xlsx(path='./zx_test_2.xlsx', sheetname='text', value=column_name)data = df4.to_numpy() append2xlsx(path='./zx_test_2.xlsx', sheetname='text', value=data)data2 = df1.to_numpy() append2xlsx(path='./zx_test_2.xlsx', sheetname='text', value=data2) xlsx格式表格數據寫入成功! xlsx格式表格數據追加成功! xlsx格式表格數據追加成功!

結果如下:

總結

以上是生活随笔為你收集整理的Python3对Excel表格操作(写入、追加)的全部內容,希望文章能夠幫你解決所遇到的問題。

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