最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何利用Python批量處理行、列和單元格詳解

 更新時(shí)間:2021年09月06日 11:36:17   作者:落春只在無(wú)意間  
因?yàn)橹蟮墓ぷ骺赡軙?huì)經(jīng)常用到excel,而且也不想荒廢Python,出于為以后做準(zhǔn)備以防不時(shí)之需,下面這篇文章主要給大家介紹了關(guān)于如何利用Python批量處理行、列和單元格的相關(guān)資料,需要的朋友可以參考下

精確調(diào)整工作表的行高和列寬

步驟

  1. 打開(kāi)工作簿。
  2. 遍歷所有工作表

核心代碼

for i in workbook.sheets:
	value = i.range('A1').expand('table')
	value.column_width = 12
	value.row_height = 20
workbook.save()

批量更改多個(gè)工作簿的數(shù)據(jù)格式

步驟:

  1. 列出文件夾中所有子文件
  2. 遍歷打開(kāi)子文件
  3. 遍歷工作表
  4. 獲取工作表的最后一行
  5. 將指定列從上到下修改

核心代碼

#遍歷工作表
for j in workbook.sheets:
	# 獲取最后一行
	row_num = j['A1'].current_region.last_cell.row
	# 數(shù)據(jù)格式修改
	j['A2:A{}'.format(row_num)].number_format = 'm/d'
	j['D2:D{}'.format(row_num)].number_format = '¥#,##0.00'
workbook.save()
workbook.close()

使用xwings模塊中的number format屬性來(lái)設(shè)置單元格區(qū)域中數(shù)據(jù)的格式。該屬性的取值為一個(gè)代表特定格式的字符串,與Excel的“設(shè)置單元格格式”

對(duì)話框中“數(shù)字”選項(xiàng)卡下設(shè)置的格式對(duì)應(yīng)。

批量更改工作簿的外觀格式

難點(diǎn)應(yīng)該是外觀格式如何更改了吧,這里介紹一些常用的外觀格式。

j 是工作表

設(shè)置字體格式

修改字體為宋體

j['A1:H1'].api.Font.Name = '宋體'

修改字號(hào)

j['A1:H1'].api.Font.Size= 10  # 10磅

字體加粗

j['A1:H1'].api.Font.Bold= True  

字體顏色

# 白色
j['A1:H1'].api.Font.Color= xw.utils.rgb_to_int((255,255,255)) 

單元格填充顏色

# 填充顏色為黑色
j['A1:H1'].Color= xw.utils.rgb_to_int((0,0,0)) 

對(duì)齊方式

# 水平對(duì)齊方式為 居中
j['A1:H1'].api.HorizontalAlignment = xw.constants.HAlign.xlHAlignCenter

# 垂直對(duì)齊方式為 居中
j['A1:H1'].api.VerticalAlignment= xw.constants.VAlign.xlVAlignCenter

以上是一列的如果是正文,j['A1:H1']變成 j['A2'].expand('table') 就可以了

添加合適粗細(xì)的邊框

# 遍歷所有的單元格
for cell in j['A1'].expand('table'):
	for b in range(7,12):
		# 設(shè)置單元格的邊框線型
		cell.api.Borders(b).LineStyle = 1
		# 設(shè)置單元格的邊框粗細(xì)
		cell.api.Borders(b).Weight = 2

替換工作簿的行數(shù)據(jù)

核心代碼

# 遍歷工作表
for j in eorkbook.sheets:
	# 獲取工作表數(shù)據(jù)
	value = j['A2'].expand('table').value
	#按行遍歷工作表數(shù)據(jù)
	for index,val in enumerate(value):
		# 判斷行數(shù)據(jù)是否是這個(gè)
		if val == ['背包',16,65]:
			# 是的話替換為新數(shù)據(jù)
			value[index] = ['雙肩包',36,79]
	#將完成替換的數(shù)據(jù)寫(xiě)入工作表中
	j['A2'].expand('table').value = value
workbook.save()

enumerate()是Python的內(nèi)置函數(shù),用于將一個(gè)可遍歷的數(shù)據(jù)對(duì)象(如列表、元組或字符串等)組合為一個(gè)索引序列,可同時(shí)得到數(shù)據(jù)對(duì)象的索引及對(duì)應(yīng)的值,一般用在for語(yǔ)句當(dāng)中。該函數(shù)的語(yǔ)法格式和常用參數(shù)含義如下。

enumerate(sequenxe,[start=0])
# start 是索引的起始位置

如果是修改指定行什么辦呢?因?yàn)榱惺窃谛械牡趲讉€(gè)單元格中我們可以按如下代碼進(jìn)行修改

#按行遍歷工作表數(shù)據(jù)
for index,val in enumerate(value):
	# 修改第三個(gè)單元格,即第index行,第 3列,下標(biāo)是從0開(kāi)始的
	val[2] = val[2] + 1
	# 替換整行數(shù)據(jù)
	value[index] = val

提取指定數(shù)據(jù)

import xlwings as xw
import pandas as pd
app = xw.App(visible = False, add_book = False) 
workbook = app.books.open('采購(gòu)表.xlsx')  
worksheet = workbook.sheets
data = []
for i in worksheet:
    values = i.range('A1').expand().options(pd.DataFrame).value
    # 一次性提取工作表中所有符合條件的行數(shù)據(jù)
    filtered = values[values['采購(gòu)物品'] == '復(fù)印紙'] 
    if not filtered.empty: 
        data.append(filtered)
new_workbook = xw.books.add() 
new_worksheet = new_workbook.sheets.add('復(fù)印紙') 
new_worksheet.range('A1').value = pd.concat(data, ignore_index = False) 
new_workbook.save('復(fù)印紙.xlsx')
workbook.close()
app.quit()

提取列數(shù)據(jù)

import xlwings as xw
import pandas as pd
app = xw.App(visible = False, add_book = False) 
workbook = app.books.open('采購(gòu)表.xlsx')
worksheet = workbook.sheets 
column = ['采購(gòu)日期', '采購(gòu)金額']
data = []
for i in worksheet:
    values = i.range('A1').expand().options(pd.DataFrame, index = False).value
    filtered = values[column]  
    data.append(filtered)
new_workbook = xw.books.add()  
new_worksheet = new_workbook.sheets.add('提取數(shù)據(jù)') 
new_worksheet.range('A1').value = pd.concat(data, ignore_index = False).set_index(column[0])
new_workbook.save('提取表.xlsx') 
workbook.close()
app.quit()

追加行數(shù)據(jù)

import os
import xlwings as xw
newContent = [['雙肩包', '64', '110'], ['腰包', '23', '58']]
app = xw.apps.add()
file_path = '分部信息'  
file_list = os.listdir(file_path)  
for i in file_list:  
    if os.path.splitext(i)[1] == '.xlsx':  
        workbook = app.books.open(file_path + '\\' + i)  
        worksheet = workbook.sheets['產(chǎn)品分類表']
        values = worksheet.range('A1').expand()
        number = values.shape[0]  
        worksheet.range(number + 1, 1).value = newContent  
        workbook.save()
        workbook.close()
app.quit()

提取所有工作表的唯一值

import xlwings as xw
app = xw.App(visible = True, add_book = False)
workbook = app.books.open('上半年銷售統(tǒng)計(jì)表.xlsx')
data = []
for i, worksheet in enumerate(workbook.sheets):
    values = worksheet['A2'].expand('down').value
    data = data + values
data = list(set(data))
data.insert(0, '書(shū)名')
new_workbook = xw.books.add()
new_worksheet = new_workbook.sheets.add('書(shū)名')
new_worksheet['A1'].options(transpose = True).value = data
new_worksheet.autofit()
new_workbook.save('書(shū)名.xlsx')
workbook.close()
app.quit()

總結(jié)

到此這篇關(guān)于如何利用Python批量處理行、列和單元格的文章就介紹到這了,更多相關(guān)Python批量處理行、列和單元格內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python匿名函數(shù)及應(yīng)用示例

    Python匿名函數(shù)及應(yīng)用示例

    這篇文章主要介紹了Python匿名函數(shù)及應(yīng)用,結(jié)合實(shí)例形式分析了Python匿名函數(shù)的功能、定義及函數(shù)作為參數(shù)傳遞的相關(guān)應(yīng)用操作技巧,需要的朋友可以參考下
    2019-04-04
  • Python使用while循環(huán)花式打印乘法表

    Python使用while循環(huán)花式打印乘法表

    今天小編就為大家分享一篇關(guān)于Python使用while循環(huán)花式打印乘法表,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • Python三種打包exe方法案例教程

    Python三種打包exe方法案例教程

    這篇文章主要介紹了Python三種打包exe方法案例教程,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • python3學(xué)習(xí)筆記之多進(jìn)程分布式小例子

    python3學(xué)習(xí)筆記之多進(jìn)程分布式小例子

    本篇文章主要介紹了python3學(xué)習(xí)筆記之多進(jìn)程分布式小例子,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • python提取excel一列或多列數(shù)據(jù)另存為新表代碼實(shí)例

    python提取excel一列或多列數(shù)據(jù)另存為新表代碼實(shí)例

    在日常的工作中,其實(shí)就是用鼠標(biāo)進(jìn)行數(shù)據(jù)篩選,然后選擇你想要這一行數(shù)據(jù)進(jìn)行復(fù)制,下面這篇文章主要給大家介紹了關(guān)于python提取excel一列或多列數(shù)據(jù)另存為新表的相關(guān)資料,需要的朋友可以參考下
    2024-06-06
  • Pytorch自定義Dataset和DataLoader去除不存在和空數(shù)據(jù)的操作

    Pytorch自定義Dataset和DataLoader去除不存在和空數(shù)據(jù)的操作

    這篇文章主要介紹了Pytorch自定義Dataset和DataLoader去除不存在和空數(shù)據(jù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • Python Socketserver實(shí)現(xiàn)FTP文件上傳下載代碼實(shí)例

    Python Socketserver實(shí)現(xiàn)FTP文件上傳下載代碼實(shí)例

    這篇文章主要介紹了Python Socketserver實(shí)現(xiàn)FTP文件上傳下載代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • OpenCV圖像輪廓的繪制方法

    OpenCV圖像輪廓的繪制方法

    這篇文章主要為大家詳細(xì)介紹了OpenCV圖像輪廓的繪制方法,以及測(cè)試幾何圖形、花朵圖形輪廓,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • TensorFlow 模型載入方法匯總(小結(jié))

    TensorFlow 模型載入方法匯總(小結(jié))

    這篇文章主要介紹了TensorFlow 模型載入方法匯總(小結(jié)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Opencv python 圖片生成視頻的方法示例

    Opencv python 圖片生成視頻的方法示例

    這篇文章主要介紹了Opencv python 圖片生成視頻的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11

最新評(píng)論

盈江县| 河南省| 信阳市| 贺兰县| 盐池县| 白河县| 尖扎县| 靖远县| 雷波县| 峡江县| 巴里| 衡水市| 弥渡县| 旬阳县| 奉节县| 石家庄市| 温泉县| 丰城市| 旬邑县| 大埔县| 托克逊县| 大渡口区| 宜川县| 馆陶县| 九江县| 青神县| 长白| 建瓯市| 清河县| 延津县| 西昌市| 布尔津县| 金山区| 江永县| 丘北县| 杂多县| 石嘴山市| 广饶县| 四子王旗| 团风县| 三台县|