日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

pythonexcelweb交互插件_来一次Python与Excel的完美交互

發布時間:2025/4/5 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pythonexcelweb交互插件_来一次Python与Excel的完美交互 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用python寫腳本文件,實現指定文件的copy

要求:

(1)一個目錄2000_PCAP,該目錄下存放著很多文件;

(2)一個表格(見附件),表格內存放著很多數字;

要求:在2000_PCAP目錄下,找出以附件表格“name_list.xlsx”內的數字為開頭的pcap文件,并把這些文件拷貝至與2000_PCAP目錄同級的2000_PCAP_part1目錄下。

解題思路:使用numpy,讀取Excel中所有數字,添加到一個新的列表中;

獲取指定文件夾下所有文件名(不帶后綴,只是數字),添加到另一個新的列表中;

循環文件名列表,去Excel中的數字列表中查找是否存在該數字,這里使用的是二分查找;

若能找到能復制該文件到指定目錄下。

大家可以先不看答案,自己嘗試一下,該怎么實現

參考答案:

1 導入模塊

import pandas as pd

import numpy as np

import os

import shutil

2 讀取Excel中所有的數字(沒有擴展,只讀取了Excel中的一列)

excel_path = './name_list.xlsx'

def read_excelfile(excel_path):

lst = pd.read_excel(excel_path)

num_list = np.array(lst).reshape(-1,).tolist()

return num_list

num_list = read_excelfile(excel_path)

num_list.sort()

3 讀取文件夾中所有文件的文件名(只提取數字部分)

file_dir = r'../2000_PCAP'

filename_list = []

def find_file(file_dir):

if os.path.isdir(file_dir):

for i in os.listdir(file_dir):

if not os.path.isdir(i):

name,pcap = i.split('.')

if name.isdigit():

filename_list.append(int(name))

else:

# 這里用了遞歸,防止出現二級目錄的情況,這里考慮的有點復雜,你可以選擇去除

find_file(i)

find_file(file_dir)

4 定義函數: 二者進行匹配查找,這里采用二分查找方式

def binary_chop(num_list,filename,start=0,end=None):

# 遞歸解決二分查找

end = len(num_list)-1 if end is None else end

mid_index = (end-start)//2 + start

if end >= start:

if filename > num_list[mid_index]:

return binary_chop(num_list,filename,start=mid_index+1,end=end)

elif filename < num_list[mid_index]:

return binary_chop(num_list,filename,start=start,end=mid_index-1)

elif filename == num_list[mid_index]:

return mid_index

else:

return '沒有此值'

else:

return '沒有此值'

5 定義函數:把找到的文件名復制到指定文件夾中

new_path = '../2000_PCAP_part1'

def copy_file(file_num_name,file_dir):

old_file = os.path.join(file_dir,str(file_num_name)+'.pcap')

new_file = os.path.join(new_path,str(file_num_name)+'.pcap')

shutil.copyfile(old_file,new_file)

6 實現上述最后兩步操作

for filename in filename_list:

# 執行二分查找,執行操作步驟4

index = binary_chop(num_list,filename)

if type(index) is int:

# 符合條件的文件名找到

file_num_name = num_list[index]

# 復制到新的文件夾中,執行操作步驟5

copy_file(file_num_name,file_dir)

使用python,可以極大的提高日常的工作效率,它強大的第三方模塊,注定應用面會很廣,有興趣的朋友真的可以抽空學一學。

以上只是我個人的理解,相信大家還會有很多很好的方法,歡迎交流,如果寫的有不對的地方,也歡迎批評指正。

總結

以上是生活随笔為你收集整理的pythonexcelweb交互插件_来一次Python与Excel的完美交互的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。