读取excel表格
import numpy as np
import xlrd
import xlwt
import csv
def excelm(path):
data = xlrd.open_workbook(path)
table = data.sheets()[0] #获取文件数据并读取
for x in range(1,2):
cols = table.col_values(x)
cols1 = np.matrix(cols)
print(cols1)
if __name__ == '__main__':
path = 'C:/Users/DELL/Desktop/11.xls'
# path = 'C:/Users/DELL/Desktop/data/test_behavior.csv'
# excel2m(path)
excelm(path)
def excel2m(path):
data = xlrd.open_workbook(path)
table = data.sheets()[0]
nrows = table.nrows # 行数
ncols = table.ncols # 列数
c1 = np.arange(0, nrows, 1) # arange 从0开始到nrows,间隔为1
datamatrix = np.zeros((nrows, ncols)) # 初始化矩阵
for x in range(ncols): # 每列中循环
cols = table.col_values(x) # 每次输出一列数据
cols1 = np.matrix(cols) # 把list转换为矩阵进行矩阵操作
print('cols1', cols)
datamatrix[:, x] = cols1
print(datamatrix)
excel写入
### 导入excel表格文件处理函数
import xlwt
### 注意,这里的xlwt是python的第三方模块,需要下载安装才能使用,不然导入不了(python第三方库的安装也非常简单,打开命令行,输入pip install xlwt就可以了)
### 创建excel表格类型文件
book = xlwt.Workbook(encoding='utf-8',style_compression=0)
### 调用xlwt模块中的Workbook方法来创建一个excel表格类型文件,其中的第一个参数是设置数据的编码格式,这里是’utf-8’的形式,style_compression设置是否压缩,不是很常用,赋值为0表示不压缩。
### 在excel表格类型文件中建立一张sheet表单
sheet = book.add_sheet('豆瓣电影Top250',cell_overwrite_ok=True)
### 用book对象调用add_sheet方法来建立一张sheet表,这里面的第一个参数很明显就是设置sheet表格的名称,第二个参数cell_overwrite_ok用于确认同一个cell单元是否可以重设值,这里赋值为True就表示可重设值。
### 自定义列名
col = ('电影详情链接','图片链接','影片中文名','影片外国名','评分','评价数','概况','相关信息')
### 用一个元组col自定义列的数量以及各列的属性名,比如我这里是8列,列属性名有“电影详情链接”,“图片链接”等。
### 将列属性元组col写进sheet表单中
for i in range(0,8):
sheet.write(0,i,col[i])
### 很简单,用一个for循环将col元组的元组值(也就是列属性名)写入到sheet表单中。这里调用的是write方法,该方法的第一个参数是行、第二个参数是列、第三个当然就是col元组值。因为这里写进去的是列名,所以都是在第一行。
### 将数据写进sheet表单中
datalist = [['www','www图片','西游记','xiyouji','100分','0人','很好','超级棒'],['www2','www图片2','西游记2','xiyouji2','1000分','1人','很棒','一级棒']]
for i in range(0,2):
data = datalist[i]
for j in range(0,8):
sheet.write(i+1,j,data[j])
### 把数据写进sheet表单里也很简单,先用一个for进行每行写入,在每一行中用第二个for循环把每一行当中的列值写进去。
### 保存excel文件
savepath = 'C:/Users/DELL/Desktop/excel表格.xls'
book.save(savepath)