使用Python处理Excel方法总结


一、xlsx文件的读写

1.1 将数据写入xlsx文件

import xlwt

# 创建一个workbook,设置编码
workbook = xlwt.Workbook(encoding = 'utf-8')
# 创建一个worksheet
worksheet = workbook.add_sheet('My Worksheet')
# 写入excel
# 参数对应 行, 列, 值
worksheet.write(0,0, label = '语文')
worksheet.write(0,1, label = '数学')
# 保存
workbook.save('Excel_test.xlsx')

1.2 读取xlsx文件数据

import xlrd
import xlwt 

#读取xlsx文件数据
workbook = xlrd.open_workbook('./cj.xlsx')
# 获取第一个sheet名
sheet_name = workbook.sheet_names()[0]
# 根据sheet索引或者名称获取sheet内容
sheet = workbook.sheet_by_index(0) # sheet索引从0开始
sheet.cell_value(0,0)
one_name = []   #获取第一行数据
row_data = []   #获取第二行及后几行数据
for i in range(sheet.ncols):
    one_name.append(sheet.cell_value(0,i))
for i in range(1,sheet.nrows):  
    a = []
    for j in range(sheet.ncols):
        a.append(sheet.cell_value(i,j))
    row_data.append(a)
    del(a)
print(one_name)
print(row_data)

二、csv文件的读写

2.1将数据写入csv文件

       我们越来越多的使用pandas进行数据处理,使用pandas处理效率高,我们尽量使用pandas进行输出。对于详细的pandas数据处理方法请参考我另一篇文章----数据分析-pandas总结笔记

import pandas as pd

#待写入数据,字典中的key值即为csv中列名
data = {'语文':[110,89,90,107,78],
       '数学': [132,120,114,96,101],
       '英语':[113,132,90,94,81],
       '物理':[90,89,78,95,83],
       '化学':[84,89,90,87,75]}

#将数据保存为DataFrame格式
df = pd.DataFrame(data,index=['张三', '李四', '王五', '李华', '李明'])
#将DataFrame格式数据保存到csv文件中,index表示是否显示行名,default=True
df.to_csv("socre.csv",index=True,sep=',')

在这里插入图片描述

2.2读取csv数据

import pandas as pd
data = pd.read_csv("socre.csv")
print(data) #打印读取到的csv文件数据
print(data.head())  #打印前5行
chinese = data['语文']   #读取语文一列
print(chinese)

三、总结

       本文简单介绍了使用python进行excel的两种数据读写方法的使用,本人在2020年大学生数学建模竞赛中上述两种方法都使用过,给我的感受是在处理比较大、复杂的数据时,使用第二种方法,也就是使用通过pandas写入csv方法并读取方法速度明显比第一种方法快的多,所以我的建议是没有其他的要求时尽量使用第二种方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值