cari
Rumahpembangunan bahagian belakangTutorial PythonBagaimana cara menukar fail yang dinamakan dengan nombor ID ke nama menggunakan python?

Bagaimana cara menukar fail yang dinamakan dengan nombor ID ke nama menggunakan python?

Menggunakan skrip python untuk merealisasikan penamaan semula fail nombor ID ke nama

Dalam aplikasi praktikal, kita sering perlu memproses fail yang dinamakan selepas nombor ID dan menamakan semula nama yang sepadan. Artikel ini menyediakan penyelesaian python yang cekap yang menggabungkan data jadual Excel untuk merealisasikan penamaan semula fail kumpulan.

Katakan anda mempunyai fail Excel (seperti "data.xls") yang mengandungi nombor ID dan surat -menyurat nama, dan folder yang mengandungi fail yang dinamakan selepas nombor ID. Kod berikut akan membantu anda menyelesaikan penamaan semula fail:

Kod asal dan masalah yang ada:

Kod berikut cuba menukar fail dari nombor ID ke nama berdasarkan hubungan pemetaan dalam jadual Excel, tetapi terdapat masalah kecekapan dan keteguhan:

 Import OS
Import Pandas sebagai PD

df = pd.read_excel ("data.xls")
id_list = os.listdir ("./")
untuk id_file di id_list:
    id_num = id_file [: id_file.find (".")]
    ext = id_file [id_file.find ("."):]
    name = df [df ["id nombor"] == id_num] .name.values
    cetak (nama)
    jika len (nama)! = 0:
        Nama = Nama [0]
        cetak (f "mulakan semula: {id_file} -> {name} {ext}")
        OS.RENAME (ID_FILE, NAME EXT)
Cetak ("Nama semula berakhir")

Masalah utama dengan kod ini ialah ia mencari fail Excel beberapa kali, yang tidak cekap. Apabila terdapat terlalu banyak fail, prestasi akan jatuh dengan ketara.

Kod python yang lebih baik:

Untuk meningkatkan kecekapan dan ketahanan, kami menggunakan kaedah traversal yang lebih langsung:

 Import OS
Import Pandas sebagai PD

df = pd.read_excel ("data.xls")
id_name_map = dict (zip (df ["id card nombor"], df ["name"])) # Buat kamus pemetaan nombor ID untuk menamakan id_list = os.listdir ("./")

untuk id_file di id_list:
    id_num = id_file [: id_file.find (".")]
    ext = id_file [id_file.find ("."):]
    jika id_num dalam id_name_map:
        new_name = id_name_map [id_num] ext
        cetak (f "mulakan semula: {id_file} -> {new_name}")
        os.rename (id_file, new_name)
Cetak ("Nama semula berakhir")

Kod ini mula -mula mencipta kamus pemetaan nombor ID untuk menamakan, kemudian beralih ke atas senarai fail dan mencari nama yang sepadan melalui kamus, dengan itu mengelakkan carian berulang data jadual Excel dan meningkatkan kecekapan dengan ketara. Di samping itu, ia juga menunjukkan logik kod dengan lebih jelas.

Dengan penambahbaikan di atas, anda boleh melaksanakan penamaan semula fail batch dengan lebih berkesan dan meningkatkan kecekapan kerja. Sila pastikan bahawa fail "Data.xls" wujud dalam direktori yang sama dengan skrip Python, dan nama lajur "Nombor ID" dan "Nama" adalah sama dengan nama lajur dalam fail Excel.

Atas ialah kandungan terperinci Bagaimana cara menukar fail yang dinamakan dengan nombor ID ke nama menggunakan python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Terangkan perbezaan prestasi dalam operasi elemen-bijak antara senarai dan tatasusunan.Terangkan perbezaan prestasi dalam operasi elemen-bijak antara senarai dan tatasusunan.May 06, 2025 am 12:15 AM

ArraysareBetterforelement-wiseoperationsduetofasteraccessandoptimizedImplementations.1) arrayshavecontiguousmemoryfordirectaccess, enhancingperformance.2) listsareflexibleButslowerduetopotentiahyiLys.3)

Bagaimanakah anda boleh melakukan operasi matematik pada keseluruhan array Numpy dengan cekap?Bagaimanakah anda boleh melakukan operasi matematik pada keseluruhan array Numpy dengan cekap?May 06, 2025 am 12:15 AM

Operasi matematik keseluruhan array di Numpy dapat dilaksanakan dengan cekap melalui operasi vektor. 1) Gunakan pengendali mudah seperti tambahan (ARR 2) untuk melaksanakan operasi pada tatasusunan. 2) Numpy menggunakan perpustakaan bahasa C yang mendasari, yang meningkatkan kelajuan pengkomputeran. 3) Anda boleh melakukan operasi kompleks seperti pendaraban, pembahagian, dan eksponen. 4) Perhatikan operasi penyiaran untuk memastikan bahawa bentuk array bersesuaian. 5) Menggunakan fungsi numpy seperti np.sum () dapat meningkatkan prestasi dengan ketara.

Bagaimana anda memasukkan elemen ke dalam array python?Bagaimana anda memasukkan elemen ke dalam array python?May 06, 2025 am 12:14 AM

Di Python, terdapat dua kaedah utama untuk memasukkan elemen ke dalam senarai: 1) Menggunakan kaedah memasukkan (indeks, nilai), anda boleh memasukkan elemen pada indeks yang ditentukan, tetapi memasukkan pada permulaan senarai besar tidak cekap; 2) Menggunakan kaedah append (nilai), tambahkan elemen pada akhir senarai, yang sangat berkesan. Untuk senarai besar, disarankan untuk menggunakan append () atau pertimbangkan menggunakan array deque atau numpy untuk mengoptimumkan prestasi.

Bagaimana anda boleh membuat skrip python boleh dilaksanakan pada kedua -dua Unix dan Windows?Bagaimana anda boleh membuat skrip python boleh dilaksanakan pada kedua -dua Unix dan Windows?May 06, 2025 am 12:13 AM

TomakeapythonscriptexecutableonbothunixandWindows: 1) addashebangline (#!/Usr/bin/envpython3) andusechmod xtomakeitexecutableonunix.2) onwindows, memastikanpythonisinstalledandAssociateWith.pyhiles, runeAtAsdiStAnToSoSoSoSoSoSoSoSoSoSoSoSoSoSoSoSoSoSoSoSoSoSoSoSo.

Apa yang perlu anda periksa jika anda mendapat ralat 'perintah tidak dijumpai' apabila cuba menjalankan skrip?Apa yang perlu anda periksa jika anda mendapat ralat 'perintah tidak dijumpai' apabila cuba menjalankan skrip?May 06, 2025 am 12:03 AM

Apabila menghadapi kesilapan "commandnotfound", perkara -perkara berikut harus diperiksa: 1. Sahkan bahawa skrip ada dan jalannya betul; 2. Semak kebenaran fail, dan gunakan ChMod untuk menambah kebenaran pelaksanaan jika perlu; 3. Pastikan penterjemah skrip dipasang dan di jalan; 4. Sahkan bahawa garis shebang pada permulaan skrip adalah betul. Melakukannya dengan berkesan dapat menyelesaikan masalah operasi skrip dan memastikan proses pengekodan lancar.

Kenapa array secara amnya lebih cekap memori daripada senarai untuk menyimpan data berangka?Kenapa array secara amnya lebih cekap memori daripada senarai untuk menyimpan data berangka?May 05, 2025 am 12:15 AM

ArraysareGenerallymorememememory-efficientthanlistsforstoringnumericaldataduetotheirfixed-sizenatureanddirectmemoryaccess.1) arraysstoreelementsinacontiguousblock, reducingoverheadfrointersormetadata.2)

Bagaimana anda boleh menukar senarai python ke array python?Bagaimana anda boleh menukar senarai python ke array python?May 05, 2025 am 12:10 AM

ToConvertapythonlisttoanarray, usetheArraymodule: 1) importThearraymodule, 2) createalist, 3) UseArray (typecode, list) toConvertit, spesifyingthetypecodelike'i'forintegers.ThisconversionOptimizesMogenhomogeneousdata, enHomerMogeneShomogeneousdata, enHomerMogeneousdata, enhomoMogenerDataShomaSdata, enhomoMogenhomogeneousdata,

Bolehkah anda menyimpan jenis data yang berbeza dalam senarai python yang sama? Beri contoh.Bolehkah anda menyimpan jenis data yang berbeza dalam senarai python yang sama? Beri contoh.May 05, 2025 am 12:10 AM

Senarai Python boleh menyimpan pelbagai jenis data. Senarai contoh mengandungi integer, rentetan, nombor titik terapung, boolean, senarai bersarang, dan kamus. Senarai fleksibiliti adalah berharga dalam pemprosesan data dan prototaip, tetapi ia perlu digunakan dengan berhati -hati untuk memastikan kebolehbacaan dan pemeliharaan kod.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod