Python关于EXCEL的读写
本篇文章主要是在笔者两次数学建模中对Python操作Excel文件的一点心得体验
Python.openpyxl
下面将详细介绍如何完成对Excel的操作
导入openpyxl包
import openpyxl as xl
打开文件
file1 = xl.load_workbook('Data\\附件1:货运线路历史交易数据.xlsx')
打开Excel中的Sheet
file1_sheet = file1['数据'] #打开名为[数据]的sheet
读取数据的必要参数
读取数据长度
length1 = len(file1_sheet['A']) #读取第一列的行数
建立numpy数组存放数据
route_id1 = np.empty([datanum1, 1], dtype=int) #数组进行初始化
数据读取
对单元格数据的获取file_sheet1.cell(row=,column=).value
在使用时,此函数返回值并非能参与运算的数据类型,因此需要进行强制格式转换。
以读取一下数据为例:
for i in range(datanum1):
route_id1[i] = int(file1_sheet.cell(row=i+2, column=7).value)
route_cost1[i] = int(file1_sheet.cell(row=i+2, column=61).value)
need1[i] = str(file1_sheet.cell(row=i+2, column=5).value) # 当转化为str时,其保存的为单元格字符串中的第一个字符
final_price1[i] = float(file1_sheet.cell(row=i+2, column=6).value)
recommend_price1[i] = float(file1_sheet.cell(row=i + 2, column=9).value)
数据改写
与数据读取操作相同,只需要对对应单元格进行赋值操作即可
file3_sheet.cell(row=i, column=j).value = np.sum(prize1)
注意!!!
在完成数据的写入后,需要对文件进行保存!!!
file3.save('Data\\附件3:计算结果.xlsx')