python初学者学习笔记(三)读取excel表格数据

在做数据分析的时候往往要读取xls类文件的数据,为了以后能随时记起来,我把有关代码记在这里,
这是我在做一个数据分析的时候打的一段代码:

import numpy as np
from pyexcel_xls import get_data
# -*- coding: utf-8 -*-
def read_xls_file():
    xls_data = get_data(r"G:\python 3.5.1\data\data_3\305_304_61.xls")
    print( "Get data type:", type(xls_data))
    b = []
    for i in range(0, 304):
        b = b + xls_data['Sheet2'][i]
    b = np.array(b)
    for i in range(1, 304):
        if b[i] == -2:
            b[i] = 0
        if b[i] == 1:
            b[i] = 1
        if b[i] == 2:
            b[i] = 1
        if b[i] == 3:
            b[i] = 0
    x_1 = 0
    y_1 = 0
    for i in range(1, 304):
        if b[i] == 1:
            x_1 = x_1 + 1
        if b[i] == 0:
            y_1 = y_1 + 1
    print("1, x_1=", x_1)
    print("0, y_1=", y_1)

    return b

1、先引入numpy和pyexcel_xls模块
pyexcel_xls模块是一个用来读取xls文件的模块,他生成一个字典,“sheet1”,“sheet2”……等就是他的key
然后每一个sheet就是一个二维数组,对应表中的n行n列(想象一下)
2、读取xls文件
只需要一行代码,括号中双引号中的字符串就是该文件的地址,如下:

xls_data = get_data(r"G:\python 3.5.1\data\data_3\305_304_61.xls")

3、将读取的二维数组转换为矩阵(反正文件读取完了,接下来要干嘛取决于你自己啦),这里我先将二维数组转换为一维数组,用的是循环体,当然也可以用上一篇记录的flatten()和ravel()语句:

b = []
for i in range(0, 304):
   b = b + xls_data['Sheet2'][i]
b = np.array(xls_data['Sheet2'])
b = np.array(xls_data['Sheet2'])
b = b.flatten()
b = np.array(xls_data['Sheet2'])
b = b.ravel()

顺便说一下循环体,循环体的常用格式就是for i in range():,其中range语句在上一篇有记录,用来生成等差数列
4、剩下的语句是用来数据二值化的,连用三个if语句是为了方便修改,可以忽略

猜你喜欢

转载自blog.csdn.net/weixin_37608233/article/details/61477841