#!/usr/bin/env python # -*- coding: utf-8 -*- """ @Time :2022/3/27 16:14 @Author : @File :PandasUtil.py @Version :1.0 @Function: """ import pandas as pd class PandasUtil: @staticmethod def readExcel(excelFile: str): """ Pandas讀取Excel數據 :param excelFile: :return: """ # header=None:表示所有數據均為body數據(沒有表頭) 反之不傳header 則有表頭(讀到的數據是沒有表頭的) # data = pd.read_excel(excelFile, header=None) data = pd.read_excel(excelFile) # data.values 是pandas讀取到的數據(二維數組) data.values[0][0]:表示第0行第0列 print(data.values[0][3]) # 打印第0行第3列的單元格數據 @staticmethod def writeNewExcel(newExcelFile: str): """ Pandas新建Excel文件(若已有文件 則直接覆蓋原文件) :param newExcelFile: :return: """ # 表頭數據 cols = ['序號', '名稱', '備注1'] # 表體數據 data = [ ['1', '哈哈', '哈哈備注'], ['2', '看看', '看看備注'] ] df = pd.DataFrame(columns=cols, data=data) df.to_excel(newExcelFile, index=False) # 一般需要傳index=False @staticmethod def writeAppendExcel(excelFile: str): """ Pandas往已有的Excel表中追加數據 :param excelFile: :return: """ # 1 把Excel中已有的數據讀取到DataFrame中 dfOld = pd.read_excel(excelFile, header=None) # 建議傳header=None appendData = [ ['5', '姓名追加', '100', '不男不女', '姓名追加的備注'] ] # 2 把待追加的數據轉換為DataFrame數據 dfAppend = pd.DataFrame(appendData) # 3 新老數據合並成一個新的DataFrame數據 dfNew = dfOld.append(dfAppend, ignore_index=True) # 一般需要傳ignore_index=True # 4 把新的DataFrame數據寫入Excel中 dfNew.to_excel(excelFile, index=False, header=False) # 建議傳header=False (須於第一步一致) if __name__ == '__main__': # Pandas讀取Excel數據 # excelFile = r"E:\pandas\pandasTest.xlsx" # PandasUtil.readExcel(excelFile) # Pandas新建Excel文件 # excelFile = r"E:\pandas\newPandasTest.xlsx" # PandasUtil.writeNewExcel(excelFile) # Pandas往已有的Excel表中追加數據 excelFile = r"E:\pandas\pandasTest.xlsx" PandasUtil.writeAppendExcel(excelFile)