注意:要正常使用本文中提到的各种方法,需要安装numpy、pandas、openpyxl、xlrd、xlwt库
一、与DataFrame无关的工作表操作(在现有工作簿中创建一张空白工作表、复制一张工作表、删除一张工作表、更改一张工作表在工作簿中的顺序)
场景:现有工作簿test.xlsx中有Sheet1、Sheet2、Sheet3,打算创建一张空白工作表Sheet4、复制工作表Sheet1、删除工作表Sheet2、最后将工作表Sheet3在工作簿中的顺序向左移1位
import numpy as np
import pandas as pd
from openpyxl import load_workbook
with pd.ExcelWriter('test.xlsx') as writer:
book = load_workbook(writer.path)# 获得workbook对象
sheets = {ws.title:ws for ws in book.worksheets}# 获得一个字典,形如{'Sheet1':,'Sheet2':},其中每个键都是str格式的工作表名,对应的值为Worksheet对象
writer.book = book
writer.sheets = sheets
book.create_sheet('Sheet4')
book.copy_worksheet(sheets['Sheet1'])
book.remove(sheets['Sheet2'])
book.move_sheet(sheets['Sheet3'], offset=-1) # 值为正数时向右移,值为负数时向左移。若offset的值超过了该工作表可移动的最大偏移量,则该工作表会停留在最右(或左)侧,不会报错
二、将工作表读取为DataFrame
pd.read_csv()语法为:
pd.read_csv('文件路径', sep=',', delimiter=None, header='infer', names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False, skiprows=None, skipfooter=0, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, skip_blank_lines=True, parse_dates=False, infer_datetime_format=False, keep_date_col=False, date_parser=None, dayfirst=False, cache_dates=True, iterator=False, chunksize=None, compression='infer', thousands=None, decimal: str = '.', lineterminator=None, quotechar='"', quoting=0, doublequote=True, escapechar=None, comment=None, encoding=None, dialect=None, error_bad_lines=True, warn_bad_lines=True, delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None)
pd.read_excel()语法为:
pd.read_excel('文件路径',sheet_name&#