简单的python读写excel

今天发现了win10的一个自带代码编辑器code writer,支持的格式很多,还是挺好用的

注意读取文件的路径前面一定要加上r,否则读取时对于'\'会把'\'当成转义字符来处理,这样就找不到路径了

这里读取表格使用xlrd模块

path=r'C:/Users/nichanglan/Desktop/test.xlsx'
import xlrd#导入模块
fro = xlrd.open_workbook(path)#打开表格
#每个excel下表痘有几个表,在excel的最下面,默认是Sheet1,Sheet2等等,这里接吧要读哪个表传进去
sheet1 = fro.sheet_by_name('Sheet1')
rows=sheet1.nrows#获取行数
column=sheet1.ncols#获取行数
line1=sheet1.row_values(1)#获取第一行,line是一个list
column1=sheet1.col_values(1)#获取第一行
one_one=sheet1.cell_value(1,1)#获取第一行第一列

下面是写表格使用xlwt模块

save_path=r'C:/Users/nichanglan/Desktop/result.xlsx'#保存路径,没有自动创建
from xlwt import Workbook
book=Workbook(encoding='utf-8')#创建工作部
sheet1=book.add_sheet('Sheet1')#增加表到工作簿
sheet1.write(0,0,'aha')#在第0行第0列写入数据
row1=sheet1.row(1)#获取第2行
row1.write(0,['a','b','c'])#在第2行第1列写入['a','b','c'],写入后的显示结果仍然是abc
book.save(save_path)

写好后的结果是这样的:

补充一段简单的练习代码:有一个excel文件,里面有table个Sheet,每个sheet都是先自上而下填写N个数据,自左向右填写数据。现在把这些Sheet分别读取到不同的txt文件中

N=2#多少行为一列
import xlrd#导入模块
open_path=r'C:/Users/nichanglan/Desktop/新建 XLSX 工作表.xlsx'
table=3
save_path=lambda i:r'C:/Users/nichanglan/Desktop/result/readme'+str(i)+'.txt'#保存路径,没有自动创建

fro = xlrd.open_workbook(open_path)#打开表格
for i in range(table):
    save=save_path(i+1)
    save=open(save,'w')
    sheet = fro.sheet_by_name('Sheet'+str(i+1))
    for j in range(N):
        line=sheet.row_values(j)
        #不考虑Wie空的情况
        for v in line:
            save.write(str(v))
            save.write('\t')
        save.write('\n')
    save.close()

参考:https://www.jb51.net/article/42635.htm

http://www.360doc.com/content/12/1231/11/10058718_257298563.shtml

猜你喜欢

转载自blog.csdn.net/qq_40597317/article/details/80903695