赞
踩
pandas.read_excel(io,sheet_name = 0,header = 0,names = None,index_col = None,...)
待读取数据的文件
这个参数是指定读取该excel中具体哪个表的数据,默认为0,即为第一个表。如果传入1,则为第2个表;可指定传入表名,如"Sheet1";也可传入多个表,如[0,‘Sheet3’],传入第一个表和名为’Sheet3’的表。
读取‘动态权益.xlsx’文件,默认为读取第一个表:
df = pd.read_excel('动态权益.xlsx')
print(df.head())
运行结果:
读取‘动态权益.xlsx’文件,加入参数sheet_name,将‘动态权益.xlsx’第一个表格默认名字‘sheet’
df = pd.read_excel('动态权益.xlsx', sheet_name=0)
'效果同上'
df = pd.read_excel('动态权益.xlsx', sheet_name='sheet')
print(df.head())
运行结果和上次一样
指定作为列名的行,默认0,即取第一行的值为列名。数据为列名行以下的数据;若数据不含列名,则设定 header = None。
默认为None,要使用的列名列表,如不包含标题行,应显示传递header=None
令header=None,表格的第一列也将作为数据,增加表头序列[0,1,2…];name参数可以传入自定义的表头。
df = pd.read_excel('动态权益.xlsx', sheet_name=0, header=None)
print(df.head())
name_list= [x for x in range(48, 0, -1)]
df = pd.read_excel('动态权益.xlsx', sheet_name=0, header=None, name=name_list)
print(df.head())
运行结果:
未传入name参数:
传入name参数后:
指定某一列作为,为索引列
df = pd.read_excel('动态权益.xlsx', sheet_name=0, index_col=0)
print(df.head())
运行结果:
index_col=None
index_col=0
读取固定的列,usecols=‘A:C, F’,读取A到C,和F列:
df = pd.read_excel('动态权益.xlsx', sheet_name=0, usecols='A:C, F')
print(df.head())
运行结果:
DataFrame.to_excel(excel_writer, sheet_name='Sheet1', header=True, index=True)
pf.to_excel('动态权益相关性.xlsx', data_corr, head=True, index=True)
writer.save()之前都可以写入‘sheet’
import pandas as pd
def save_excel(root_dir, data, head=None, index=None):
pf = pd.DataFrame(data)
writer = pd.ExcelWriter(root_dir, engine='xlsxwriter')
pf.to_excel(writer, header=head, index=index)
writer.save()
参考别人程序,pd.ExcelWriter(root_dir, engine=‘openpyxl’) 不加mode='r+'会报错‘zipfile.BadZipFile: File is not a zip file’,加入读写模式该问题解决。
import pandas as pd
def save_excel(root_dir, data, sheet, index=None):
excel_writer = pd.ExcelWriter(root_dir, engine='openpyxl', mode='r+')
book = openpyxl.load_workbook(root_dir)
excel_writer.book = book
data.to_excel(excel_writer=excel_writer, sheet_name=sheet, index=index)
excel_writer.close()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。