python对excel读写操作

 一、读相关

# todo 对excel的操作
import xlrd

# todo 打开excle
xl = xlrd.open_workbook(r'D:\file\data.xlsx')
#print(xl.read())

# 获取工作簿中所有的工作表
sheets = x1.sheet_names()

# todo 获取工作簿所有表中的第一个表格 (方式1)
table1 = x1.sheet_by_name(sheets[0])

# todo 通过索引获取工作表(方式2)
table = xl.sheets()[0]
print(table)

# 获取一共多少行
rows = table.nrows
print(rows)

# todo 获取第一行的内容,索引从0开始
row = table.row_values(0)
print(row)

# todo 获取第一列的整列的内容
col = table.col_values(0)
print(col)

# todo 获取单元格值,第几行第几个,索引从0开始
data = table.cell(3,0).value
print(data)

 二、写相关

'''写入excel文件'''
import xlsxwriter

# todo 创建excel文件
xl = xlsxwriter.Workbook(r'D:\testfile\test.xlsx')

# todo 添加sheet
sheet = xl.add_worksheet('sheet1')

# todo 往单元格cell添加数据,索引写入
sheet.write_string(0,0,'username')

# todo 位置写入
sheet.write_string('B1','password')

# todo 设置单元格宽度大小
sheet.set_column('A:B',30)

# todo 关闭文件
xl.close()

三、其他(追加,多个表的选择)

python对excel读写操作_第1张图片

二、pandas库读取

一、安装包

pandas处理Excel需要xlrd、openpyxl依赖包

pip3 install pandas
pip3 install xlrd
pip3 install openpyxl

二、创建Excel,写入数据

import  pandas  as pd
from pandas import DataFrame

#写
dic1 = {'标题列1': ['aaa','bbb'],
        '标题列2': [80, 90]
       }
df = pd.DataFrame(dic1)
df.to_excel('test.xlsx', index=False)

read_excel方法说明

pd.read_excel(io, sheet_name=0, header=0, names=None, index_col=None, 
              usecols=None, squeeze=False,dtype=None, engine=None, 
              converters=None, true_values=None, false_values=None, 
              skiprows=None, nrows=None, na_values=None, parse_dates=False, 
              date_parser=None, thousands=None, comment=None, skipfooter=0, 
              convert_float=True, **kwds)

io:excel文件

sheet_name:返回指定sheet,默认索引0返回第一个,也可用名称,如果返回多个则可用列表,为None则返回全表

header:指定表头,也可用列表指定多行

names:自定义列名,长度和Excel列长度必须一致

index_col:用作索引的列

usecols:读取指定的列,参数为列表,如[0,1]表示第1和第2列

三、读取Excel

import  pandas  as pd
from pandas import DataFrame

#读
data = pd.read_excel('test.xlsx')

# 读取第一列、第二列、第四列
# df = pd.read_excel('test.xlsx',sheet_name='top1',usecols=[0,1,3])
# data = df.values
# print(data)

# 读取第一行
# df = pd.read_excel('test.xlsx',sheet_name='study_id',nrows=1)
# data = df.values
# print(data)

#查看所有的值
print(data.values)

#查看第一行的值
print(data[0])

# 查看第一行第一列的值
print(data[0][0])

#查看某一列所有的值
print(data['标题列1'].values)

#新增列
data['标题列3'] = None

#新增行
data.loc[3] = ['aa', 100, 'bb']

#删除行:axis=0
data = data.drop([0,1], axis=0)

#删除列:axis=1
data.drop('标题列3', axis=1)

#保存
DataFrame(data).to_excel('test.xlsx', sheet_name='Sheet1', index=False, header=True)

你可能感兴趣的:(python,excel,python)