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

Python對(duì)excel的基本操作方法

 更新時(shí)間:2021年02月18日 09:35:32   作者:Singvis  
這篇文章主要介紹了Python對(duì)excel的基本操作,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

1. 前言

本文是通過(guò)Python的第三方庫(kù)openpyxl, 該庫(kù)根據(jù)官方介紹是支持Excel 2010 的 xlsx/xlsm/xltx/xltm格式文件,哪個(gè)版本的這些格式應(yīng)該都可以支持。

作為網(wǎng)絡(luò)攻城獅的我們,使用python對(duì)excel的基本操作技能就可以了,當(dāng)然能夠精通更好了。

那我們使用openpyxl有何作用?我是想后面跟大家分享一篇批量備份網(wǎng)絡(luò)設(shè)備配置的文章,里面會(huì)涉及到對(duì)excel的操作,就提前給大家分享下如何操作基本的excel,順便鞏固下自己的知識(shí)。

來(lái)來(lái)來(lái),先看下如下圖所示,這是存放一張所有網(wǎng)絡(luò)設(shè)備的管理地址表,通過(guò)python的openpyxl庫(kù)就可以讀取ip地址信息、巡檢命令等信息,就可以批量去備份網(wǎng)絡(luò)設(shè)備配置了,之前我都是用python結(jié)合txt文本的,覺(jué)得不太方便,就改成python結(jié)合excel的方式,excel編輯起來(lái)就非常方便了。

2. 實(shí)驗(yàn)環(huán)境

  • windown 10
  • Python3.69
  • Pycharm
  • Python第三方庫(kù)openpyxl
  • excel 2013

說(shuō)明:各位實(shí)驗(yàn)環(huán)境請(qǐng)隨意組合,python版本是3.x以上。

3. 基本操作

接下來(lái)就開(kāi)始一步一步教大家如何操作...

3.1 安裝openpyxl第三方庫(kù)

C:\>pip install openpyxl

3.2 新建工作簿

3.2.1 新創(chuàng)建工作簿

from openpyxl import Workbook

# 類實(shí)例化
wb = Workbook()

# 保存并生成文件
wb.save('simple_excel.xlsx')

​說(shuō)明:運(yùn)行該代碼后,會(huì)生成一份excel文件:simple_excel.xlsx,暫時(shí)沒(méi)內(nèi)容。

3.2.2 缺省工作表

from openpyxl import Workbook

# 類實(shí)例化
wb = Workbook()
# 激活并缺省創(chuàng)建第一個(gè)工作表:sheet
ws1 = wb.active
# 第一個(gè)工作表命名:1_sheet
ws1.title = '1_sheet'
# 保存并生成文件
wb.save('simple_excel.xlsx')

​效果如下所示:

3.2.3 創(chuàng)建工作表

from openpyxl import Workbook

# 類實(shí)例化
wb = Workbook()
# 激活并缺省創(chuàng)建第一個(gè)工作表
ws1 = wb.active
# 第一個(gè)工作表命名
ws1.title = '1_sheet'
# 創(chuàng)建工作表3
ws3 = wb.create_sheet(title='3_sheet', index=2)
# 創(chuàng)建工作表2
ws2 = wb.create_sheet('2_sheet', 1)
# 創(chuàng)建工作表4
ws4 = wb.copy_worksheet(ws3)
# 保存并生成文件
wb.save('simple_excel.xlsx')

​參數(shù)說(shuō)明:

  • 屬性title:為工作表命名;
  • 方法create_sheet:創(chuàng)建新的工作表,其中index為工作表的順序索引,如0表示第一張表...;
  • 方法copy_worksheet:復(fù)制工作表;
  • 方法save:保存并生成文件,每次運(yùn)行都會(huì)覆蓋同名文件;

3.2.4 刪除工作表

from openpyxl import Workbook

# 類實(shí)例化
wb = Workbook()
# 激活并缺省創(chuàng)建第一個(gè)工作表

# ...省略中間代碼...

ws4 = wb.copy_worksheet(ws3)

# 刪除工作表
wb.remove(ws4)

# 保存并生成文件
wb.save('simple_excel.xlsx')

​說(shuō)明:此步驟我就不運(yùn)行了。

3.2.5 設(shè)置工作表顏色

from openpyxl import Workbook

# 類實(shí)例化
wb = Workbook()

# ...省略中間代碼...

# 設(shè)置工作表背景色
ws1.sheet_properties.tabColor = '90EE90'
ws2.sheet_properties.tabColor = '1E90FF'
ws3.sheet_properties.tabColor = '90EE90'
ws4.sheet_properties.tabColor = '1E90FF'

# 保存并生成文件
wb.save('simple_excel.xlsx')

​參數(shù)說(shuō)明:

屬性tabColor:設(shè)置工作表背景色,可以使用RGB顏色。

​效果如下:

3.2.6 單元格寫(xiě)入數(shù)據(jù)

#### 寫(xiě)入單個(gè)數(shù)據(jù)

from openpyxl import Workbook

# 類實(shí)例化
wb = Workbook()

# ...省略中間代碼...

# 單元格寫(xiě)入數(shù)據(jù)
# 方法1:
ws1['A1'] = '示例:'

# 方法2:
ws1.cell(row=1, column=1, value='示例:')

# 保存并生成文件
wb.save('simple_excel.xlsx') 

批量寫(xiě)入數(shù)據(jù)

from openpyxl import Workbook

# 類實(shí)例化
wb = Workbook()

# ...省略中間代碼...

# 單元格寫(xiě)入數(shù)據(jù)
data = [
 ["device_name", "device_ip", "vendor", "model", "sn", "os", "version", "update_time"],
 ['switch-01', "192.168.1.1", "cisco", 'WS-C3560G-24TS', "FOC00000000", "cisco_ios", "12.2(50)SE5", "1 weeks, 1 minutes" ],
 ['switch-02', "192.168.1.2", "cisco", 'WS-C3560G-24TS', "FOC00000000", "cisco_ios", "12.2(50)SE5", "1 weeks, 1 minutes" ],
 ['switch-03', "192.168.1.3", "cisco", 'WS-C3560G-24TS', "FOC00000000", "cisco_ios", "12.2(50)SE5", "1 weeks, 1 minutes" ],
 ]
for row in data:
 ws1.append(row)

# 保存并生成文件
wb.save('simple_excel.xlsx') 

​參數(shù)說(shuō)明:

append:傳入可迭代對(duì)象(字符串、列表、元組...),迭代寫(xiě)入單元格;

​效果如下:

3.2.7 設(shè)置單元格背景色

from openpyxl import Workbook
from openpyxl.styles import PatternFill, Border, Side, Font, colors

# 類實(shí)例化
wb = Workbook()

# ...省略中間代碼...

# 單元格填充背景色
background_color = PatternFill(start_color='00BFFF', fill_type='solid')
# 設(shè)置邊框
border = Border(left=Side(style='thin'),
  right=Side(style='thin'),
  top=Side(style='thin'),
  bottom=Side(style='thin'))
font_type = Font(color=colors.WHITE,
   size=12,
   b=True,
   bold=True)
 # 設(shè)置字體居中
Align = Alignment(horizontal='center', vertical='center')
 # 循環(huán)迭代cell并設(shè)置樣式
for row in ws1.iter_rows(min_row=2,max_row=2):
 for cell in row:
 cell.fill, cell.font, cell.alignment = background_color, font_type, Align

​參數(shù)說(shuō)明:

  • 類PatternFill:start_color、end_color為背景色、圖案顏色、圖案樣式;
  • 類Border:設(shè)置邊框線條樣式,如線條寬度樣式、對(duì)角線等;
  • 類Font:設(shè)置字體顏色、大小、下劃線等;
  • 類Alignment:設(shè)置文本對(duì)齊方式,水平對(duì)齊、垂直對(duì)齊;

​效果如下:

3.2.8 合并單元格

# ...省略代碼...

# 合并單元格
ws1.merge_cells('A1:H1')
ws1.unmerge_cells('A1:H1')

# ...省略代碼...

​參數(shù)說(shuō)明:

  • merge_cells:合并單元格;
  • unmerge_cells:取消合并單元格;

效果如下:

3.2.9 自動(dòng)調(diào)整列單元格寬度

from openpyxl import Workbook
from openpyxl.styles import PatternFill, Border, Side, Font, colors,Alignment
from openpyxl.utils import get_column_letter

# 類實(shí)例化
wb = Workbook()

# ...省略中間代碼...

# 自動(dòng)調(diào)整單元格寬度
# 篩選出每一列中cell的最大長(zhǎng)度,并作為調(diào)整列寬度的值。
all_ws = wb.sheetnames
for ws in all_ws:
 dims = {}
 ws = wb[ws]
 for row in ws.rows:
 for cell in row:
  if cell.value:
  dims[cell.column] = max(dims.get(cell.column, 0), len(str(cell.value)))
  
 for col, value in dims.items():
 ws.column_dimensions[get_column_letter(col)].width = value + 3
 dims.clear()

​思路解讀:
​ 先找出列所有數(shù)據(jù)的最大長(zhǎng)度,然后按照這個(gè)長(zhǎng)度自動(dòng)調(diào)整單元格的寬度。

  • 先定義一個(gè)空字典dims,用來(lái)存放鍵值對(duì),column(列):value(單元格cell長(zhǎng)度);
  • 每一列的單元格value長(zhǎng)度一一比較取得最大值,最后取得最最最大值,作為每列的寬度值width;
  • 方法get_column_letter():是將cell.column整數(shù)值1、2、3...轉(zhuǎn)換為列字符串'A'、'B'、 'C'...;
  • 方法column_dimensions:通過(guò)width設(shè)置列的寬度,建議再加大一點(diǎn);

​效果如下:

3.2.10 圖表

from openpyxl.chart import BarChart3D, Reference

# ...省略中間代碼...


# 單元格先寫(xiě)入數(shù)據(jù)
data = [
 ["Fruit", "2017", "2018", "2019", "2020"],
 ['Apples', 10000, 5000, 8000, 6000],
 ['Pears', 2000, 3000, 4000, 5000],
 ['Bananas', 6000, 6000, 6500, 6000],
 ['Oranges', 500, 300, 200, 700],
]
for row in data:
 ws2.append(row)
 
# 開(kāi)始繪3D柱狀圖
chart = BarChart3D()
chart.type = 'col'
chart.style = 10
chart.title = '銷量柱狀圖'
chart.x_axis.title = '水果'
chart.y_axis.title = '銷量'

# set_categories() X軸設(shè)置數(shù)據(jù), add_data() y軸設(shè)置數(shù)據(jù)
data = Reference(ws2, min_col=2, min_row=1, max_col=5, max_row=5)
series = Reference(ws2, min_col=1, min_row=2, max_row=5)
chart.add_data(data=data, titles_from_data=True)
chart.set_categories(series)
ws2.add_chart(chart, 'A7')

​參數(shù)說(shuō)明:

  • 屬性type:可以設(shè)置列col 和水平bar兩種方式;
  • 屬性style:設(shè)置樣式,為整數(shù)值1~48之間;
  • 屬性title:設(shè)置標(biāo)題;
  • 屬性x_axis.title:x軸的標(biāo)題;
  • 屬性y_axis.title:y軸的標(biāo)題;
  • 類Reference:引用單元格范圍的數(shù)據(jù);
  • 方法add_data:設(shè)置Y軸數(shù)據(jù);
  • 方法set_categories:設(shè)置X軸數(shù)據(jù);

​效果如下:

3.3 加載工作簿

通過(guò)load_workbook方法加載已存在的excel文件,并以read_only只讀方式讀取內(nèi)容,不能進(jìn)行編輯。

load_workbook方法參數(shù):

  • filename:文件路徑或文件對(duì)象;
  • read_only:是否為只讀,針對(duì)閱讀做了優(yōu)化,不能編輯內(nèi)容;
  • keep_vba:是否保留vba內(nèi)(并不意味可以用它),缺省保留;
  • data_only:?jiǎn)卧袷欠癖A艄交蚪Y(jié)果;
  • keep_links:是否保留外部鏈接,缺省保留;

3.3.1 獲取工作表

from openpyxl import load_workbook as open
# 類示例化
wb = open('simple_excel.xlsx', read_only=True)

# 獲取所有工作表
print('所有工作表: ', wb.sheetnames)

# 關(guān)閉工作簿
wb.close()


# 回顯結(jié)果如下:
所有工作表: ['1_sheet', '2_sheet', '3_sheet', '3_sheet Copy']

​參數(shù)說(shuō)明:

  • 參數(shù)read_only=True:表示以只讀模式打開(kāi)工作簿;
  • 方法sheetnames:返回的是一個(gè)列表形式的工作表名稱;
  • 方法close():僅在read-onlywrite-only 模式使用即可,下同,故不做多次解釋;

3.3.2 遍歷工作表

from openpyxl import load_workbook as open
# 類示例化
wb = open('simple_excel.xlsx', read_only=True)

# 獲取單個(gè)工作表
print('第1個(gè)工作表:', wb.sheetnames[0])
print('第2個(gè)工作表:', wb.sheetnames[1])
print('第3個(gè)工作表:', wb.sheetnames[2])
print('第4個(gè)工作表:', wb.sheetnames[3])
# 循環(huán)遍歷工作表
for ws in wb.sheetnames:
 print(ws)

# 關(guān)閉工作簿
wb.close()


# 回顯結(jié)果如下:
第1個(gè)工作表: 1_sheet
第2個(gè)工作表: 2_sheet
第3個(gè)工作表: 3_sheet
第4個(gè)工作表: 3_sheet Copy
1_sheet
2_sheet
3_sheet
3_sheet Copy

3.3.3 獲取單元格數(shù)據(jù)

from openpyxl import load_workbook as open
# 類示例化
wb = open('simple_excel.xlsx', read_only=True)

# 第一個(gè)工作表對(duì)象
ws1 = wb[wb.sheetnames[0]]
# 或者
# ws1 = wb['1_sheet']

# 獲取某個(gè)單元格
print(f"獲取單元格數(shù)據(jù): {ws1['A3'].value}")

# 選取范圍獲取單元格數(shù)據(jù)
for row in ws1['A3:H3']:
 for cell in row:
 print(f"按范圍獲取單元格數(shù)據(jù): {cell.value}")

# 關(guān)閉工作簿
wb.close()


# 回顯結(jié)果如下:
獲取單元格數(shù)據(jù): switch-01
 
按范圍獲取單元格數(shù)據(jù): switch-01
按范圍獲取單元格數(shù)據(jù): 192.168.1.1
按范圍獲取單元格數(shù)據(jù): cisco
按范圍獲取單元格數(shù)據(jù): WS-C3560G-24TS
按范圍獲取單元格數(shù)據(jù): FOC00000000
按范圍獲取單元格數(shù)據(jù): cisco_ios
按范圍獲取單元格數(shù)據(jù): 12.2(50)SE5
按范圍獲取單元格數(shù)據(jù): 1 weeks, 1 minutes 

3.3.4 遍歷行

指定行

from openpyxl import load_workbook as open
# 類示例化
wb = open('simple_excel.xlsx', read_only=True)

# 第一個(gè)工作表對(duì)象
ws1 = wb[wb.sheetnames[0]]

# 指定第二行
for cell in ws1['2']:
 print(cell.value)
 
# 關(guān)閉工作簿
wb.close()


# 回顯結(jié)果如下:
device_name
device_ip
vendor
model
sn
os
version
update_time

指定行范圍

# ... 省略代碼...

# 指定行范圍
for row in ws1['2:3']:
 for cell in row:
 print(cell.value)
 
# ... 省略代碼...


# 回顯結(jié)果如下:
device_name
device_ip
vendor
model
sn
os
version
update_time
switch-01
192.168.1.1
cisco
WS-C3560G-24TS
FOC00000000
cisco_ios
12.2(50)SE5
1 weeks, 1 minutes

方法iter_rows,遍歷行

from openpyxl import load_workbook as open
# 類示例化
wb = open('simple_excel.xlsx', read_only=True)

# 第一個(gè)工作表對(duì)象
ws1 = wb[wb.sheetnames[0]]

# 循環(huán)遍歷行
for row in ws1.iter_rows(min_row=2, max_row=2, min_col=1, max_col=8):
 for cell in row:
 print(f"單元格數(shù)據(jù):{cell.value}")
 
# 關(guān)閉工作簿
wb.close()


# 回顯結(jié)果如下:
單元格數(shù)據(jù):device_name
單元格數(shù)據(jù):device_ip
單元格數(shù)據(jù):vendor
單元格數(shù)據(jù):model
單元格數(shù)據(jù):sn
單元格數(shù)據(jù):os
單元格數(shù)據(jù):version
單元格數(shù)據(jù):update_time

​參數(shù)說(shuō)明:

方法iter_rows:通過(guò)該方法可以遍歷每行數(shù)據(jù),是一個(gè)tuple,可再次循環(huán)通過(guò).value獲取單元格數(shù)據(jù);

3.3.5 遍歷列

指定列

from openpyxl import load_workbook as open
# 類示例化
wb = open('simple_excel.xlsx', read_only=True)

# 第一個(gè)工作表對(duì)象
ws1 = wb[wb.sheetnames[0]]

# 指定第一列
for cell in ws1['A']:
 print(cell.value)
 
# 關(guān)閉工作簿
wb.close()


# 回顯結(jié)果如下:
示例:
device_name
switch-01
switch-02
switch-03

指定列范圍

# ... 省略代碼...

# 指定列范圍
for col in ws1['A:B']:
 for cell in col:
 print(cell.value)
 
# ... 省略代碼... 
 
# 回顯結(jié)果如下:
示例:
device_name
switch-01
switch-02
switch-03
None
device_ip
192.168.1.1
192.168.1.2
192.168.1.3

方法iter_cols,遍歷列

from openpyxl import load_workbook as open
# 類示例化
wb = open('simple_excel.xlsx')

# 第一個(gè)工作表對(duì)象
ws1 = wb[wb.sheetnames[0]]

# 循環(huán)遍歷列
for col in ws1.iter_cols(min_row=3, max_row=5, min_col=1, max_col=1):
 for cell in col:
 print(f"單元格數(shù)據(jù):{cell.value}")
 
# 關(guān)閉工作簿
wb.close()


# 回顯結(jié)果如下:
單元格數(shù)據(jù):switch-01
單元格數(shù)據(jù):switch-02
單元格數(shù)據(jù):switch-03

參數(shù)說(shuō)明:

方法iter_cols:通過(guò)該方法可以遍歷每列數(shù)據(jù),是一個(gè)tuple,可再次循環(huán)通過(guò).value獲取單元格數(shù)據(jù),另外和iter_rows不一樣的就是load_workbook 不能使用read_only=True;

附錄openpyxl官方文檔
openpyxl

RGB顏色參考
RGB顏色參考

到此這篇關(guān)于Python對(duì)excel的基本操作的文章就介紹到這了,更多相關(guān)Python excel操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

到此這篇關(guān)于Python對(duì)excel的基本操作方法的文章就介紹到這了,更多相關(guān)Python excel操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 在Python中實(shí)現(xiàn)決策樹(shù)算法的示例代碼

    在Python中實(shí)現(xiàn)決策樹(shù)算法的示例代碼

    決策樹(shù)(Decision Tree)是一種常見(jiàn)的機(jī)器學(xué)習(xí)算法,被廣泛應(yīng)用于分類和回歸任務(wù)中,并且再其之上的隨機(jī)森林和提升樹(shù)等算法一直是表格領(lǐng)域的最佳模型,所以本文將介紹理解其數(shù)學(xué)概念,并在Python中動(dòng)手實(shí)現(xiàn),這可以作為了解這類算法的基礎(chǔ)知識(shí)
    2023-08-08
  • Python defaultdict方法使用分析

    Python defaultdict方法使用分析

    在使用Python字典的過(guò)程中,如果沒(méi)有key就會(huì)自動(dòng)報(bào)錯(cuò),這時(shí)就需要python中defaultdict函數(shù)發(fā)揮作用。defaultdict是Python內(nèi)建dict類的一個(gè)子類,功能與dict相同,但可以產(chǎn)生一個(gè)帶有默認(rèn)值的dict,如果key不存在,就會(huì)返回默認(rèn)值
    2022-10-10
  • 使用Python實(shí)現(xiàn)文件查重功能

    使用Python實(shí)現(xiàn)文件查重功能

    這篇文章主要為大家詳細(xì)介紹了Python如何通過(guò)循環(huán)進(jìn)行刪除重復(fù)文件,從而達(dá)到文件查重功能,文中的示例代碼講解詳細(xì),需要的小伙伴可以參考下
    2024-12-12
  • pyqt5移動(dòng)鼠標(biāo)顯示坐標(biāo)的方法

    pyqt5移動(dòng)鼠標(biāo)顯示坐標(biāo)的方法

    今天小編就為大家分享一篇pyqt5移動(dòng)鼠標(biāo)顯示坐標(biāo)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • 利用Python Pygame放個(gè)煙花

    利用Python Pygame放個(gè)煙花

    Pygame是一款專門(mén)為開(kāi)發(fā)和設(shè)計(jì) 2D 電子游戲而生的軟件包,它支 Windows、Linux、Mac OS 等操作系統(tǒng),具有良好的跨平臺(tái)性。本文將用它放個(gè)煙花,快來(lái)一起動(dòng)手嘗試一下吧
    2022-01-01
  • Elasticsearches之python使用及Django與Flask集成示例

    Elasticsearches之python使用及Django與Flask集成示例

    這篇文章主要為大家介紹了Elasticsearches之python使用及Django與Flask集成示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04
  • Python制作微信好友背景墻教程(附完整代碼)

    Python制作微信好友背景墻教程(附完整代碼)

    這篇文章主要介紹了Python制作微信好友背景墻教程(附完整代碼),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • flask框架使用orm連接數(shù)據(jù)庫(kù)的方法示例

    flask框架使用orm連接數(shù)據(jù)庫(kù)的方法示例

    這篇文章主要介紹了flask框架使用orm連接數(shù)據(jù)庫(kù)的方法,結(jié)合實(shí)例形式分析了flask框架使用flask_sqlalchemy包進(jìn)行mysql數(shù)據(jù)庫(kù)連接操作的具體步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2018-07-07
  • python3實(shí)現(xiàn)帶多張圖片、附件的郵件發(fā)送

    python3實(shí)現(xiàn)帶多張圖片、附件的郵件發(fā)送

    這篇文章主要為大家詳細(xì)介紹了python3實(shí)現(xiàn)帶多張圖片、附件的郵件發(fā)送,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • python如何通過(guò)openpyxl讀寫(xiě)Excel文件

    python如何通過(guò)openpyxl讀寫(xiě)Excel文件

    python操作excel的庫(kù)有很多,有的庫(kù)只能讀取xsl格式,比如xlrd庫(kù),有的庫(kù)只能寫(xiě)xsl格式,比如xlwt庫(kù),有的只能讀寫(xiě)xslx格式,比如openpyxl庫(kù),綜合各庫(kù)及 xslx 格式比較常見(jiàn),所以本文主要講解openpyxl庫(kù)對(duì)xslx格式的excel操作,需要的朋友可以參考下
    2023-10-10

最新評(píng)論

平顶山市| 枞阳县| 安阳县| 东乡县| 武强县| 丹凤县| 正镶白旗| 类乌齐县| 商丘市| 南陵县| 平江县| 锡林郭勒盟| 体育| 昌乐县| 龙陵县| 南岸区| 宣化县| 介休市| 天水市| 金华市| 彭州市| 新宁县| 锡林郭勒盟| 柳林县| 江孜县| 涪陵区| 嘉定区| 昭通市| 灵璧县| 镇宁| 温宿县| 迭部县| 恩平市| 沾化县| 襄樊市| 锡林郭勒盟| 揭阳市| 建平县| 罗定市| 亚东县| 临洮县|