# Python数据分析——excl导入数据的简单方法（xlrd）

## 开发环境

Prerequisites:

1. IDE ：pycharm，vscode，etc
2. 数据分析包matplotlibxlrd，numpy，etc

## 导入数据

1.import第三方库

import matplotlib.pyplot as plt  #画图用
import numpy as np
import matplotlib
import xlrd  				#读Excel数据用


2.找到Excel的路径，举个栗子

file_location = "F:\desktop\Assignment\Concrete_Data.xls"
data = xlrd.open_workbook(file_location)
#	data是Excel里的数据


3.选择读取哪个sheet

sheet = data.sheet_by_index(0)
#	根据索引读取
#	就是说data里有很多sheet
#	data.sheet_by_index（0）是sheet1，以此类推


4.读个数据玩玩： 用sheet.cell_value（）

print(sheet.cell_value(0,0))  #读最左上角的数据 [0][0]
#和C语言的二维数组很类似
print(sheet.nrows)			  #返回row（行）的数目

print(sheet.ncols)			  #返回column（列）的数目


Cement (component 1)(kg in a m^3 mixture)  # [0][0]元素
1031					# 1031行 （rows）
9						# 9列 （columns）

1. 为了进行数据处理中，我们会加入一些遍历的语句，使得某个行或者列可以被读在某个数组里。
举个栗子：现在想要某一行的所有值
for col in range(sheet.ncols):
print(sheet.cell_value(0,col))


Cement (component 1)(kg in a m^3 mixture)
Blast Furnace Slag (component 2)(kg in a m^3 mixture)
Fly Ash (component 3)(kg in a m^3 mixture)
Water  (component 4)(kg in a m^3 mixture)
Superplasticizer (component 5)(kg in a m^3 mixture)
Coarse Aggregate  (component 6)(kg in a m^3 mixture)
Fine Aggregate (component 7)(kg in a m^3 mixture)
Age (day)
Concrete compressive strength(MPa, megapascals)


days = [sheet.cell_value(r,7) for r in range(1,sheet.nrows)]


stats = [[sheet.cell_value(r,c) for c in range(sheet.ncols)] for r in range(sheet.nrows)]


## OK，到这里就完了，你学会了吗？

import matplotlib.pyplot as plt
import numpy as np
import matplotlib
import xlrd

file_location = "F:\desktop\Assignment\Concrete_Data.xls"
data = xlrd.open_workbook(file_location)

sheet = data.sheet_by_index(0)

print(sheet.cell_value(0,0))

print(sheet.nrows)

print(sheet.ncols)

for col in range(sheet.ncols):
print(sheet.cell_value(0,col))

# for col in range(sheet.ncols):
#     print(sheet.cell_value(2,col))

# data stores all information in the excel
data = [[sheet.cell_value(r,c) for c in range(sheet.ncols)] for r in range(sheet.nrows)]

# print the attribute 'Days' out
# for row in range(1,sheet.nrows):
#     print(data[row][7])

days = [sheet.cell_value(r,7) for r in range(1,sheet.nrows)]


## 个人心得

Excel导入python，

（*不足、错误之处，欢迎指正）

03-30
06-29 23万+

03-26 125
04-08 8931
04-26 9万+
07-27 5万+
03-12 6971
01-08
03-20 2万+
12-05 5万+

¥2 ¥4 ¥6 ¥10 ¥20

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