python读写excel表格(一)

python处理excel表格主要用到xlrd和xlwt这两个库,xlrd读excel,xlwt写excel

写表格

  1. 下载安装xlwt
    pip install xlwt

  2. 示例,附代码块

import xlwt
#设置表格样式
def set_style(name,height,bold=False):
    style = xlwt.XFStyle()
    font = xlwt.Font()
    font.name = name
    font.bold = bold
    font.color_index = 4
    font.height = height
    style.font = font
    return style

#写Excel
def write_excel():
#创建工作薄,并制定写入的格式
    f = xlwt.Workbook(encoding='utf8')
    #创建工作表sheet,指定是否可重复写入数据,通常,sheet名如果是中文的情况下在前面加u,不过不加也不影响
    sheet1 = f.add_sheet(u'学生',cell_overwrite_ok = False)
    row0 = [u"姓名",u"年龄",u"出生日期",u"爱好"]
    colum0 = ["张三","李四","恋习Python","小明","小红","无名"]
    #写第一行
    for i in range(0,len(row0)):
        sheet1.write(0,i,row0[i],set_style('Times New Roman',220,True))
    #写第一列
    for i in range(0,len(colum0)):
    	sheet1.write(i+1,0,colum0[i],set_style('Times New Roman',220,True))
    # 合并单元格 sheet.write_merge(x,x+m,y,y+n,string,style)
    # x表示行,y表示列,m表示跨韩个数,n表示跨列个数
    sheet1.write_merge(6,6,1,3,'未知')#合并行单元格
    sheet1.write_merge(1,2,3,3,'打游戏')#合并列单元格
    sheet1.write_merge(4,5,3,3,'打篮球')

    f.save('test2.xls')

if __name__ == '__main__':
    write_excel()
  1. 示例,excel表
    在这里插入图片描述

读表格

import xlrd
import pandas as pd
import numpy as np

def read_excel():
    data= xlrd.open_workbook('雪亮项目.xls')#打开Excel文件读取数据 
    df=data.sheet_by_name("一机一档")##通过工作簿名称获取 
    file = open('gd5.txt','w')    
    for i in range(df.nrows):
        text=df.cell_value(i,14)
        text2=df.cell_value(i,17)
        file.write(text)
        file.write('\t')
        file.write(str(text2))
        file.write('\t')
        file.write('\n')
    file.close()
     
if __name__ == '__main__':
    read_excel()

末尾介绍一下Pandas吧~~

Pandas

DataFrame是Python中Pandas库中的一种数据结构,类似于excel是一种二维表。DataFrame可以设置列名columns与行名index。

直接创建
import pandas as pd
df = pd.DataFrame(np.random.randn(4,4),index = list('ABCD'),colunms = list('奇奇怪怪'))

pandas.DataFrame(param1, param2, param3)
param1: 存放在 DataFrame里面的数据
param2: 行名(行索引)
param3: 列名(列索引)

使用字典创建
dic = {'name':['小明''小红''狗蛋''铁柱']'age':[17,20,5,40],
	  'gender': ['男','女','女','男']
}
df2 = pd.DataFrame(dic)
print(df2)

在这里插入图片描述

------------呃呃呃呃-----到这里好像跑题了------回来,接着我们开始读取数据------------

查看数据值
values

使用values可以查看DataFrame里的数据集值,返回的是一个数组。

import tensorflow.compat.v1 as tf
import pandas as pd
import numpy as np

dic = {'name':['小明','小红','狗蛋','铁柱'],
	  'age':[17,20,5,40],
	  'gender': ['男','女','女','男']
}
df2 = pd.DataFrame(dic)
print(df2)
print(df2.values)

在这里插入图片描述

loc 或iloc 获取行

loc 根据所定义的index来获取行
iloc 根据行号来获取行,行号从0递增

dm = pd.DataFrame(np.random.randn(4,4),index = list('ABCD'),columns = list('EFGH'))
print('+++++++++++++++++')
print(dm)
print('**************************')
print(dm.loc['B'])
print('**************************')
print(dm.iloc[1])

在这里插入图片描述

获取列
print(dm['E'])

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值