【Python】Excel-3

  1 1、    导入Excel模块:from openpyxl import Workbook
  2
  3 2、    创建Excel对象:wb=Workbook()
  4
  5 3、    创建sheet:ws1=wb.create_sheet(“name”)
  6
  7 4、    指定位置创建某个sheet:ws1=create_sheet(“name”,0)
  8
  9 5、    修改sheet名字:ws1.title=”new name”;中文名字ws1.title=u”new name”
 10
 11 6、    设定sheet背景属性ws1.sheet_properties_tabColor=”108888”
 12
 13 7、    获取某个sheet对象:wb[“sheet name”]
 14
 15 8、    获取全部sheet的名字:wb.sheetnames或wb.get_sheet_names() 返回的是一个list
 16
 17 9、    复制一个sheet:wb.copy_worksheet(wb[“sheet name”])
 18
 19 10、   给固定单元格赋值:
 20
 21 (1) ws1[“A1”]=3.1415
 22
 23 (2) ws1[“B2”]=”王某某”
 24
 25 (3) ws1.cell(row=4,column=2,value=10)
 26
 27 11、   获取某个单元格的值
 28
 29 (1) ws1[“A1”].value
 30
 31 (2) ws1.cell(row=4,column=2,value=10).value
 32
 33 12、   获取某一列的值
 34
 35 (1) ws1[“A”];ws1[“A:C”]为获取A到C列的值
 36
 37 (2) for cell in ws1[“A”]:print cell.value
 38
 39 13、   获取某几行的值
 40
 41 (1) ws1[1:3]
 42
 43 (2) for row in ws[1:3]:print row.value
 44
 45 14、   获取某几行几列的值
 46
 47 for row in ws1.iter_rows(min_row=1,min_col=1,max_col=3,max_row=3):
 48
 49 for cell in row:
 50
 51    print cell.value
 52
 53 15、   获取所有行:ws1.rows
 54
 55 16、   获取所有列ws1.columns
 56
 57 17、   保存Excel:wb.save(“e:\\test4\\sample.xlsx”)
 58
 59 18、   打开Excel文件:
 60
 61 import xlrd
 62
 63 data=xlrd.open_workbook(“e:\\test4\\sample.xlsx”)
 64
 65 19、   写入excel文件内容如果是中文不需要加”u”,创建sheet名称时如果是中文需要加”u”
 66
 67 #练习:创建一个excel,第一行是1,2,3,第二行是4,5,6,第三行是7,8,9,保存在磁盘上,然后并且把每一个值读出来,并输出
 68
 69 from openpyxl import Workbook
 70
 71 wb=Workbook()
 72
 73 ws1=wb.create_sheet(u"某某")
 74
 75 i=1
 76
 77 for m in range(1,4):
 78
 79     for n in range(1,4):
 80
 81         ws1.cell(row=m,column=n,value=i)
 82
 83         i+=1
 84
 85 for m in range(1,4):
 86
 87     for n in range(1,4):
 88
 89         print ws1.cell(row=m,column=n).value
 90
 91
 92
 93 for column in ws1["A:C"]:
 94
 95     for cell in column:
 96
 97         print cell.value
 98
 99 wb.save("e:\\test4\\s2.xlsx")
100
101 #练习:显示小数或百分数
102
103 from openpyxl import Workbook
104
105 from openpyxl import load_workbook
106
107 wb = load_workbook(‘e:\\test4\\s2.xlsx‘)
108
109 wb.guess_types = True
110
111 #这个的意思是只获取第一个sheet
112
113 ws=wb.active
114
115 ws["D1"]="12%"
116
117 print ws["D1"].value
118
119 wb.save("e:\\test4\\s2.xlsx")
120
121 #练习:
122
123 from openpyxl import Workbook
124
125 from openpyxl import load_workbook
126
127 wb = load_workbook(‘e:\\test4\\s2.xlsx‘)
128
129 ws=wb.active
130
131 rows=[]
132
133 for row in ws.iter_rows():
134
135     rows.append(row)
136
137
138
139 print rows                      #所有行,存的是每一行的对象
140
141 print rows[0]                    #获取第一行
142
143 print rows[0][0]                #获取第一行第一列的单元格对象
144
145 print rows[0][0].value                #获取第一行第一列的单元格对象的值
146
147 print rows[len(rows)-1]                #获取最后行
148
149 print rows[len(rows)-1][len(rows[0])-1]        #获取第后一行和最后一列的单元格对象
150
151 print rows[len(rows)-1][len(rows[0])-1].value    #获取第后一行和最后一列的单元格对象的值
152
153
154
155 #练习:
156
157 from openpyxl import Workbook
158
159 from openpyxl import load_workbook
160
161 wb = load_workbook(‘e:\\test4\\s2.xlsx‘)
162
163 ws=wb.active
164
165 cols=[]
166
167 for col in ws.iter_cols():
168
169     cols.append(col)
170
171
172
173 print cols                      #所有列
174
175 print cols[0]                      #获取第一列
176
177 print cols[0][0]                  #获取第一列的第一行的单元格对象
178
179 print cols[0][0].value              #获取第一列的第一行的值
180
181
182
183 print "*"*30
184
185 print cols[len(cols)-1]              #获取最后一列
186
187 print cols[len(cols)-1][len(cols[0])-1]      #获取最后一列的最后一行的单元格对象
188
189 print cols[len(cols)-1][len(cols[0])-1].value      #获取最后一列的最后一行的单元格对象的
190
191
192
193 #练习:判断类型
194
195 from openpyxl import Workbook
196
197 from openpyxl import load_workbook
198
199 import datetime
200
201 wb = load_workbook(‘e:\\test4\\s2.xlsx‘)
202
203 ws=wb.active
204
205 wb.guess_types = True
206
207
208
209 ws["A1"]=datetime.datetime(2010, 7, 21)
210
211 print ws["A1"].number_format
212
213
214
215 ws["A2"]="12%"
216
217 print ws["A2"].number_format
218
219
220
221 ws["A3"]= 1.1
222
223 print ws["A4"].number_format
224
225
226
227 ws["A4"]= "中国"
228
229 print ws["A5"].number_format
230
231 # Save the file
232
233 wb.save(‘e:\\test4\\s2.xlsx‘)
234
235
236
237
238
239 #练习:Excel中用公式
240
241 from openpyxl import Workbook
242
243 from openpyxl import load_workbook
244
245 wb = load_workbook(‘e:\\test4\\s2.xlsx‘)
246
247 ws1=wb.active
248
249 ws1["A1"]=1
250
251 ws1["A2"]=2
252
253 ws1["A3"]=3
254
255
256
257 ws1["A4"] = "=SUM(1, 1)"
258
259 ws1["A5"] = "=SUM(A1:A3)"  #这里打印的是Excel的公式,而不是公式计算后的结果
260
261
262
263 print ws1["A4"].value  #打印的是公式内容,不是公式计算后的值,程序无法取到计算后的值
264
265 print ws1["A5"].value  #打印的是公式内容,不是公式计算后的值,程序无法取到计算后的值
266
267 # Save the file
268
269 wb.save(‘e:\\test4\\s2.xlsx‘)
270
271
272
273 #练习:合并单元格
274
275 from openpyxl import Workbook
276
277 from openpyxl import load_workbook
278
279
280
281 wb = load_workbook(‘e:\\test4\\s2.xlsx‘)
282
283 ws1=wb.active
284
285 from openpyxl.workbook import Workbook
286
287 wb = Workbook()
288
289 ws = wb.active
290
291 ws.merge_cells(‘A2:D2‘)  #合并单元格,值不保留
292
293 #ws.unmerge_cells(‘A2:D2‘) #不合并单元格
294
295 # or equivalently
296
297 ws.merge_cells(start_row=2,start_column=1,end_row=2,end_column=4)
298
299 #ws.unmerge_cells(start_row=2,start_column=1,end_row=2,end_column=4)
300
301 # Save the file
302
303 wb.save(‘e:\\test4\\s2.xlsx‘)
304
305
306
307 #练习:隐藏列
308
309 from openpyxl import load_workbook
310
311 from openpyxl.drawing.image import Image
312
313
314
315 wb = load_workbook(‘e:\\test4\\s2.xlsx‘)
316
317 ws1=wb.active
318
319 ws1.column_dimensions.group(‘A‘, ‘D‘, hidden=True)   #隐藏a到d列范围内的列
320
321 # Save the file
322
323 wb.save(‘e:\\test4\\s2.xlsx‘)
324
325
326
327 #练习:生成柱状图
328
329 from openpyxl import load_workbook
330
331 from openpyxl import Workbook
332
333 from openpyxl.chart import BarChart, Reference, Series
334
335
336
337 wb = load_workbook(‘e:\\test4\\s2.xlsx‘)
338
339 ws1=wb.active
340
341 wb = Workbook()
342
343 ws = wb.active
344
345 for i in range(10):
346
347     ws.append([i])
348
349
350
351 values = Reference(ws, min_col=1, min_row=1, max_col=1, max_row=10)
352
353 chart = BarChart()
354
355 chart.add_data(values)
356
357 ws.add_chart(chart, "E15")
358
359 # Save the file
360
361 wb.save(‘e:\\test4\\s2.xlsx‘)

原文地址:https://www.cnblogs.com/jingsheng99/p/8904089.html

时间: 2024-11-26 09:51:32

【Python】Excel-3的相关文章

【Python】excel读写操作 xlrd & xlwt

xlrd ■ xlrd xlrd模块用于读取excel文件内容 基本用法: workbook = xlrd.open_workbook('文件路径') workbook.sheet_names() #返回所有sheet的列表 workbook.sheet_by_index(...) #通过index来获得一个sheet对象,index从0开始算起 workbook.sheet_by_name(...) #根据sheet名获得相应的那个sheet对象 在得到sheet对象之后,就可以用它的一些方法

【Python】SyntaxError: Non-ASCII character '\xe8' in file

遇到的第一个问题: SyntaxError: Non-ASCII character '\xe8' in file D:/PyCharmProject/TempConvert.py on line 2, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details 原因:注释里面出现了中文,而 Python 支持的 ASCII 码无中文. 解决方法:在头文件中添加如下代码: # -*- coding:

【python】禁止print输出换行的方法

print后用一个逗号结尾就可以禁止输出换行,例子如下 >>> i=0 >>> while i < 3: print i i+=1 0 1 2 禁止输出换行后效果如下: >>> i=0 >>> while i < 3: print i, i+=1 0 1 2 [python]禁止print输出换行的方法,布布扣,bubuko.com

【python】chr与ord函数的使用

ord()是将已知字母转换成其顺序值: chr()是将已知字母的顺序至转换成其对应的字母 >>> ord("a") 97 >>> ord("A") 65 >>> chr(97) 'a' >>> chr(65) 'A' [python]chr与ord函数的使用,布布扣,bubuko.com

【图文】Excel中vlookup函数的使用方法

今天统计数据,用到了Excel中vlookup函数,第一次使用当然少不了百度,经过反复研究后,算是解决了问题,现整理成文档. 一.实现效果 Sheet1 Sheet2   注:上图中sheet1商品条码列(即D列)引用sheet2中商品条码(即B列)中的数据 二.vlookup函数调用说明 以sheet1中调用函数为例,如下: =VLOOKUP(A2,Sheet2!$A$2:$B$100,2,TRUE) 函数中共有四个调用参数 1)  第一个参数:A2 :可任意指定,也可以是B2.C2等.这一列

【python】ipython与python的区别

[python]ipython与python的区别 (2014-06-05 12:27:40) 转载▼   分类: Python http://mba.shengwushibie.com/itbook/BookChapter.asp?id=8745 http://www.cnblogs.com/yangze/archive/2011/07/11/2103040.html http://matrix.42qu.com/10735149 http://www.cnblogs.com/weishun/

【python】字符遍历

Python为我们提供了很多便捷的方式去遍历一个字符串中的字符.比如,将一个字符串转换为一个字符数组(列表): theList = list(theString) 同时,我们可以方便的通过for语句进行遍历: for c in theString:        do_something_with(c) map函数用法: 第一个参数接收一个函数名,第二个参数接收一个可迭代对象 lt = [1, 2, 3, 4, 5, 6] def add(num): return num + 1 rs = ma

【Python】用Python的“结巴”模块进行分词

之前都是用计算所的分词工具进行分词,效果不错但是比较麻烦,最近开始用Python的"结巴"模块进行分词,感觉非常方便.这里将我写的一些小程序分享给大家,希望对大家有所帮助. 下面这个程序是对一个文本文件里的内容进行分词的程序:test.py #!/usr/bin/python #-*- encoding:utf-8 -*- import jieba #导入jieba模块 def splitSentence(inputFile, outputFile): fin = open(input

【Python】Python获取命令行参数

有时候需要用同一个Python程序在不同的时间来处理不同的文件,此时如果老是要到Python程序中去修改输入.输出文件名,就太麻烦了.而通过Python获取命令行参数就方便多了.下面是我写得一个小程序,希望对大家有所帮助. 比如下面一个程序test.py是通过接受命令行两个参数,并打印出这两个参数. import sys #需导入sys模块 print sys.argv[1], sys.argv[2] #打印出从命令行接受的两个参数 Linux下运行:python test.py Hello P

【Python】定位一组元素、

前几天生病加懒惰 TAT ========================================================================== 1.getAttribute()方法是一个函数.它只有一个参数--你打算查询的属性的名字: 2.http://www.cnblogs.com/fnng/p/3190966.html 注意路径 3. [Python]定位一组元素.,布布扣,bubuko.com