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