Excel作为目前最流行的个人计算机数据处理软件,相信大家都使用过,但是在使用excel时,有时长达上千行的数据却让人望而却步,这时候就需要编程来代替我们手动读写数据,这样既节省了时间又提高了效率。接下来我就为大家讲解在使用python读写Excel数据时可能会出现的一些问题及注意事项。
1 收集操作
要想对excel里的数据进行收集,必须使用python的‘xlrd’库(下载方法见文章末尾)。对excel的读取操作其实很类似python对普通TXT文件的操作。
TXT
f = open('users.txt') #读文件时,该文件必须存在 res = f.read() print(res) f.close()#关闭 |
Excel
1.1 第一步导入xlrd库。
import xlrd |
1.2 打开当前文件目录下名为‘xxxxx.xlsx’的文档。
workbook = xlrd.open_workbook("xxxxx.xlsx")# workbook是指向该文件的指针 |
1.3 打开第一个sheet,这就是和打开txt文件的不同,一个excel文件会有很多的sheet。
sheet = workbook.sheet_by_index(0)#按照索引打开sheet |
1.4 这是第二种打开方式,直接通过sheet名打开该文件。
sheet = workbook.sheet_by_name("sheet1")#通过名称获取 |
1.5 excel是一个电子制表软件,所有读取的数据都在单元格中,因此单元格的行标与列标十分重要(注意不论行标还是列标,索引都是从‘0’开始)。
sheet.nrows#行数 sheet.ncols#列数 |
1.6 类似直角坐标轴,行、列标确定,即可确定单元格。
sheet.cell_value(i,ii)#行标为i,列标为ii单元格内的数据 |
2 写入操作
2.1 同样的也需要导入一个库——‘xlwt’。
import xlwt import xlrd |
2.2 因为在对excel进行修改时,我们会复制一遍excel,并在此基础上进行插入、删除等操作,所以必须保留excel原本的格式,如:颜色、字体……因此需在打开excel时加入formatting_info=True 。
workbook=xlrd.open_workbook(“文件名.xlsx",formatting_info=True) wb=copy(workbook)#复制 Sheet=wb.get_sheet(0)#打开第一个sheet |
2.3 对excel填入数据的操作时,括号内依次为:行数、列数、内容。
Sheet.write(rows, ncols ,content)#行数、列数、内容 |
2.4 excel中会出现将同一行的几个单元格合并之后而产生的‘合并单元格’,此时合并单元格的位置以最小的索引为准。例如两个单元格位置为(1,2)、(1,3),合并之后位置为(1,2)。
2.5 最后在对excel修改完成后,注意一定要保存才能看见修改后的excel。
wb.save("文件名.xlsx") |
3 总结
其实不只是excel,对于一些机械性的重复操作,人工操作效率极低。使用编程语言可以让计算机代替我们做这些机械性的工作,既省时又提效。最后关于python如何安装第三方库,可以在cmd窗口直接运行:pip install +包名,如 pip install wlrd。