pycharm(python)对excel进行一些基本操作
第一次在csdn上写博客,花了我一个上午/(ㄒoㄒ)/~~,不过还是写好了。如果有不对的地方,希望大佬们批评指正。
前期的一点小准备
- pychram(这是一个非常好用的python编程软件,界面看起来久很炫酷)。如果要学习python的话,我觉得还不错哦。
安装教程 - 一个你要操纵的excel表格
话不多说,直接开始吧。
读取excel的内容
- pycharm需要导入读取excel的库xlrd
在pycharm中,依次File->setting(有个小扳手图标)->project:XXX(你自己的工程)->project interpreter->如图
然后点击安装
然后静静等待几分钟(可以来一把游戏哈哈哈)
安装成功标志(不是这个滴话,可能是网络不好多试一下,这里出问题的概率不大)
一般pycharm导入其他函数库都可以按照上述步骤操纵 - 重头戏
excel文件
代码:
#!/usr/bin/env python
#coding:utf-8
import xlrd
def excel_read(): #定义了一个读取excel的函数
wb = xlrd.open_workbook('家族信息表.xlsx')# 打开Excel文件
sheet = wb.sheet_by_name('Sheet1')#通过excel表格名称(rank)获取工作表
names = [] #创建空list,用来保存人物名称一列
ids =[]# 保存id数据
ranks=[]# 保存忍阶数据
for a in range(sheet.nrows): #循环读取表格内容(每次读取一行数据)
cells = sheet.row_values(a) # 每行数据赋值给cells
name=cells[0]#循环读取cell没一列的数据,cell[0]就是包含了每一行的人物名称
id=cells[1]#读取id数据
rank=cells[2]#忍阶数据
#将每一列的数据依次保存在names、ids、ranks里。
names.append(name) #append这是一个插入函数,功能可以在list之后插入一个name数据
ids.append(id)
ranks.append(rank)
return names,ids,ranks #函数的返回值,返回三列的数据
a = excel_read() #这里调用了excel_read的函数,此时a就包含了names、ids、ranks三列数据
print(a[0])#打印names数据,几乎所有的编程语言都是从0开始计数的哟
print(a[1])#ids
print(a[2])#ranks
结果
(这里也可以做一些查找的操纵,比如根据游戏名称查找ids和忍阶,这个比较简单哦。)
写入excel(使用openpyxl)
说实话,写入一个已有的excel比只读取要稍微复杂亿点点。
这里有一个比较好的网站http://www.python-excel.org/
我使用的是openpyxl(导入的流程同上面的xlrd)来进行写入的操作。我觉得比xlutils好使一点点点。
直接上代码:
#coding:utf-8
import openpyxl
def excel_w(data):#定义一个写入的函数,输入的data是需要写入的数据
wb = openpyxl.load_workbook('家族信息表.xlsx')#读取excel表格
ws = wb['Sheet1']
for x in data:#依次把信息写入excel
ws.append(x)
savename = '家族信息表.xlsx'
wb.save(savename)#需要保存excel
data=[['无敌阿刀','1111111111','极忍'],['321','2123','sad']]#需要插入的数据,最好是元组的形式
excel_w(data)#调用函数
效果还是不错滴。(这里也可以使用input进行写入)
删除excel某一行(列)数据
删除需谨慎,千万要备份!!
# coding=utf-8
import openpyxl
wb = openpyxl.load_workbook('家族信息表.xlsx')#读取excel表格
ws = wb['Sheet1']
ws.delete_rows(15,1)# 删除从第15行起的1行内容
#ws.delete_cols(1,2)# 删除从第1列起的2列元素
wb.save('家族信息表.xlsx')# 保存表格
(先写到这里吧,以后再更新其他的内容!)
给大家推荐一个学习python比较好的入门教程。