python对excel的读写方法还是不少的,之前用同学代码时他用的是pandas
,之前我用过是xlrd
和xlwt
,今天忘了,这次又查了一遍怎么用,做一个记录。
1 介绍
- xlrd:excel_read(自己编的),用于读excel
- xlwt:excel_write,用于写excel
2 xlrd的用法
代码思路和人打开一个表格去处理的思路一致:
打开文件 → 获取表格内容 → 获取整行或整列或某个单元格的值
import xlrd # 读
# 1 打开文件
wb = xlrd.open_workbook(r"C:\Users\Lenovo\Desktop\部分词频分析.xlsx") # wb:workBook
# 2 获取表格内容
sh1 = wb.sheet_by_index(0) # 索引 0 为 sheet1
# 3 获取整行或整列的值
cols = sh1.col_values(1) # 获取第 2 列内容
# 获取内容后的一系列处理 ...
3 xlwt的用法
import xlrt # 写
# 1 创建 excel
wb2 = xlwt.Workbook()
# 2 添加sheet
sh2 = wb2.add_sheet('test')
# 3 写入数据
sh2.write(2, 0, '3A') # 写入A3 数值等于'3A'
sh2.write(2, 1, '3B') # 写入B3 数值等于'3B'
# 4 保存
wb2.save(r"C:\Users\Lenovo\Desktop\test.xls")
print('写入完成')
这里可能会出现的bug:使用Python创建excel文件成功后报错打不开,注意要将第4步保存的文件位置后缀设置为'xls'
,本地的xlsx
文件最好也改成xls
文件
4 词性筛选代码
该代码仅供个人保存参考了,因为涉及我的具体步骤,感兴趣的可以看这里:
【自然语言处理】词性筛选——nltk库的安装和使用
import xlrd # 读
import xlwt # 写
import nltk
# 读 excel
# 1 打开文件
workBook = xlrd.open_workbook(r"C:\Users\Lenovo\Desktop\部分词频分析.xlsx")
# 2 获取表格内容
sh1 = workBook.sheet_by_index(0) # 索引 0 为 sheet1
# 3 获取整行或整列的值
cols = sh1.col_values(1) # 获取第 2 列内容
tokens = []
for i in range(44220):
tokens.append(cols[i])
# 写 excel
# 1 创建excel
wb2 = xlwt.Workbook()
# 2 添加sheet
sh2 = wb2.add_sheet('test')
# 3 写入数据
# sh2.write(2, 0, '3A') # 写入3A 数值等于1
# sh2.write(2, 1, '3B')
pos_tags = nltk.pos_tag(tokens)
tags = {'VB', 'VBD', 'VBG', 'VBN', 'VBP', 'VBZ'} # set
t = 0
for word, pos in pos_tags:
if pos in tags:
sh2.write(t, 0, word)
t = t + 1
# 4 保存
wb2.save(r"C:\Users\Lenovo\Desktop\test.xls")
print('写入完成')
5 参考
更多的python和excel交互的操作可以参考1和2
[1] python读取excel中的数据
[2] Python开发 之 Python3读写Excel文件(较全)
[3] 使用Python创建excel文件成功后报错打不开