Python(1)生成目錄及超鏈接


# -*- coding: utf-8 -*-
import xlsxwriter  # 導入模塊
import os

# 新建txt文檔
# f = open('PCL.bat','a')
# f.write('@echo off')
# f.write('\ntree /f > Tree_result.txt')
# f.write('\necho 生成樹形目錄')
# f.write('\ndir /s/b/p > directory.txt')
# f.write('\necho 輸出文件目錄...')
# f.write('\npython Dir.py')
# f.write('\necho 生成目錄成功!')
# f.write('\npause')
# f.close()
# #執行批處理
# os.system(r'PCL.bat')

#定義文件名稱
txtname = 'directory.txt'
txtname2 = 'Tree_result.txt'
excelname = '目錄導航.xlsx'

#判斷當前目錄下是否存在臨時文件
if os.path.exists(txtname)==True:
    os.remove(txtname)
if os.path.exists(txtname2)==True:
    os.remove(txtname2)
#執行批處理命令
#os.system('@echo off')
#os.system('\necho 生成樹形目錄...')
os.system('\ntree /f >>  ' + txtname2)
#os.system('\necho 輸出樹形目錄成功!')
#os.system('\necho 生成目錄絕對路徑...')
os.system('\ndir /s/b/p >> ' + txtname)
#os.system('\necho 輸出目錄絕對路徑成功!')

# 新建excle
workbook = xlsxwriter.Workbook(excelname)
# 新建sheet
worksheet = workbook.add_worksheet('目錄鏈接')
worksheet2 = workbook.add_worksheet('樹形目錄')

# 導入txt1文件數據
fopen = open(txtname, 'r', encoding='gbk')
lines = fopen.readlines()

# 導入txt2文件數據
fopen2 = open(txtname2, 'r', encoding='gbk')
lines2 = fopen2.readlines()


# 通過字典的方式直接設置格式。
workfomat1 = workbook.add_format({
    'bold': True,  # 字體加粗
    'border': 1,  # 單元格邊框寬度
    'align': 'center',  # 對齊方式
    'valign': 'vcenter',  # 字體對齊方式
    'fg_color': '#F4B084',  # 單元格背景顏色
    'font_name': '微軟雅黑'  # 設置字體
})

workfomat2 = workbook.add_format({
    'bold': False,  # 字體加粗
    'border': 1,  # 單元格邊框寬度
    'align': 'center',  # 對齊方式
    'font_name': '微軟雅黑',  # 設置字體
    'font_size': 10,
    'fg_color': '#E6E4E1',  # 單元格背景顏色
})

workfomat3 = workbook.add_format({
    'bold': False,  # 字體加粗
    'border': 1,  # 單元格邊框寬度
    'align': 'left',  # 對齊方式
    'font_name': '微軟雅黑',  # 設置字體
    'font_size': 10,
    'fg_color': '#E6E4E1',  # 單元格背景顏色
})

workfomat4 = workbook.add_format({
    'bold': False,  # 字體加粗
    'align': 'left',  # 對齊方式
    'font_name': '宋體',  # 設置字體
    'font_size': 11,
    'fg_color': '#E6E4E1',  # 單元格背景顏色
})

headings = ['序號', '鏈接']  # 設置表頭
worksheet.write_row('A1', headings, workfomat1)


i = 1
for line in lines:
    dir = line.strip('\n')
    worksheet.write(i, 0, i, workfomat2)
    worksheet.write(i, 1, dir, workfomat3)
    worksheet.write(i, 1, '=HYPERLINK(\"' + dir + '\")')
    i = i + 1
worksheet.set_column('B:B', 150)

j = 0
for line2 in lines2:
    dir2 = line2.strip('\n')
    worksheet2.write(j, 0, dir2, workfomat4)
    j = j + 1
worksheet2.set_column('A:A', 300)

#關閉txt文件
fopen.close()
fopen2.close()
#關閉excle文件
workbook.close()  #將excel文件保存關閉,如果沒有這一行運行代碼會報錯
#刪除臨時文件
os.remove(txtname)
os.remove(txtname2)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM