python 怎么给表格加边框 python给excel加外框线_Python

-------------------------------------手打分割线----------------------------------------------

Xlwings是我认为的Python最强大的处理Excel的库,主要原因如下:

1 Windows,Mac都能用 (Excel,WPS也都能用)

2 功能齐全,支持Excel的新建、打开、修改、保存(pandas和xlsxwriter去不能全做到)

3 语法简单(用过一次后我就记住了)

4 可以调用VBA,有丰富的API

Talk is cheap, show you the code.

先说基本操作:

引入库


import


打开Excel程序,默认设置:程序可见,只打开不新建工作薄


app


打开已有工作簿(支持绝对路径和相对路径)


wb = app.books.open('example.xlsx')
#练习的时候建议直接用下面这条
#wb = xw.Book('example.xlsx')
#这样的话就不会频繁打开新的Excel


保存工作簿


wb.save('example.xlsx')


退出工作簿(可省略)


wb.close()


退出Excel


app.quit()


引用Excel工作表,单元格

引用工作表


sht = wb.sheets[0]
#sht = wb.sheets[第一个sheet名]


引用单元格


rng = sht.range('a1')
#rng = sht['a1']
#rng = sht[0,0] 第一行的第一列即a1,相当于pandas的切片


引用区域


rng = sht.range('a1:a5')
#rng = sht['a1:a5']
#rng = sht[:5,0]


重头戏:写入数据
(xlwings多个单元格的写入大多是以表格形式)

选择起始单元格A1,写入字符串‘Hello’


sht.range('a1').value = 'Hello'


默认按行插入:A1:D1分别写入1,2,3,4


sht.range('a1').value = [1,2,3,4]


等同于


sht.range('a1:d1').value = [1,2,3,4]


按列插入: A2:A5分别写入5,6,7,8

你可能会想


*sht.range('a2:a5').value = [5,6,7,8]


但是你会发现xlwings还是会按行处理的,上面一行等同于


*sht.range('a2').value = [5,6,7,8]


正确语法:


sht.range('a2').options(transpose=True).value = [5,6,7,8]


既然默认的是按行写入,我们就把它倒过来嘛(transpose),单词要打对,如果你打错单词,它不会报错,而会按默认的行来写入(别问我怎么知道的)

我们输入信息的时候往往不只是写入一行或一列,
多行输入就要用二维列表了:


sht.range('a6').expand('table').value = [['a','b','c'],['d','e','f'],['g','h','i']]


说完了写入就该讲读取了,记住了写入,读取就简单了

读取A1:D4(直接填入单元格范围就行了)


print(sht.range('a1:d4').value)


返回的值是列表形式,多行多列为二维列表,但有一点要注意,返回的数值默认是浮点数


a = sht.range('a1:d1').value
print(a)
for i in a:
  print(i)
  print(type(i))


python 怎么给表格加边框 python给excel加外框线_pandas追加写入excel_02


读取excel的第一列怎么做?


*a = sht.range('a:a').value
print(len(a))


python 怎么给表格加边框 python给excel加外框线_python 怎么给表格加边框_03


你将会得到一个1048576个元素的列表,也就是空值也包含进去了,所以这种方法不行

思路:先计算单元格的行数(前提是连续的单元格)


rng = sht.range('a1').expand('table')
nrows = rng.rows.count


接着就可以按准确范围读取了


a


同理选取一行的数据也一样


ncols


好了基本操作就介绍到这里了,下次搞个实战,把xlwings好好用起来

(实战已完成,链接在下面)

呆呆:Python与Excel交互——Xlwings实战zhuanlan.zhihu.com

python 怎么给表格加边框 python给excel加外框线_Python_04