【Python】Pandas 操作Excel


 

#!/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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM