דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. מחשבים וטכנולוגיה
  3. עזרה הדדית - מחשבים וטכנולוגיה
  4. בירור | מיון קבצים מרובים לפי שמות

בירור | מיון קבצים מרובים לפי שמות

מתוזמן נעוץ נעול הועבר עזרה הדדית - מחשבים וטכנולוגיה
31 פוסטים 6 כותבים 567 צפיות 4 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • אבייא אביי

    @קוקר מצורף קוד פייתון שעושה את זה,

    והנה קובץ מקומפל, רק שים לב שעל קובץ האקסל והקבצים להיות באותה תיקייה של התוכנה, וקובץ האקסל צריך להיות בשם "שמות הקבצים", ולהיות עם שמות העמודות בשורה הראשונה "שם הקובץ" ו"התיקיה להעברה".

    https://send.magicode.me/send-file/file/bfd1facfd91b75f232f7a1990bfc2adb2fceebed/view

    # Developed by abaye ©			
    # https://ko-fi.com/abaye
    # email: cs@abaye.co
    # The source of the icon image is the site icons8.com
    
    
    import os
    import pandas as pd
    import shutil
    import sys
    
    
    def get_script_directory():
        if getattr(sys, 'frozen', False):
            # Running as a compiled executable (PyInstaller)
            return os.path.dirname(sys.executable)
        else:
            # Running as a script
            return os.path.dirname(os.path.abspath(__file__))
    
    
    script_directory = get_script_directory()
    
    files_directory = script_directory
    excel_file_path = os.path.join(files_directory, 'שמות הקבצים.xlsx')
    
    
    try:
        # טען את הנתונים מקובץ האקסל, תוך דילוג על השורה הראשונה עם הכותרות
        df = pd.read_excel(excel_file_path)
    except FileNotFoundError:
        print(f"שגיאה: קובץ האקסל '{excel_file_path}' לא נמצא.")
        exit(1)
    except Exception as e:
        print(f"שגיאה: לא ניתן לטעון את קובץ האקסל. שגיאה: {e}")
        exit(1)
    
    
    #df = pd.read_excel(excel_file_path)
    
    for index, row in df.iterrows():
        file_name = row['שם הקובץ']
        folder_name = row['התיקיה להעברה']
        
        file_path = os.path.join(files_directory, file_name)
        destination_folder = os.path.join(files_directory, folder_name)
        
        if not os.path.exists(destination_folder):
            os.makedirs(destination_folder)
        
        destination_path = os.path.join(destination_folder, file_name)
        
        try:
    
            shutil.copy(file_path, destination_path)
            print(f"הקובץ '{file_name}' הועתק לתיקייה '{folder_name}' בהצלחה.")
        except FileNotFoundError:
            print(f"שגיאה: הקובץ '{file_name}' לא נמצא בתיקייה הראשית.")
        except Exception as e:
            print(f"שגיאה: לא ניתן להעתיק את הקובץ '{file_name}'. שגיאה: {e}")
    
    print("הפעולה הסתיימה!")
    

    3db9f7e5-a80d-431a-9e84-df8eb8667cae-image.png

    ק מנותק
    ק מנותק
    קוקר
    כתב נערך לאחרונה על ידי
    #13

    @אביי הוא לא מעתיק את הקבצים, רק פותח תיקיות חדשות.

    תגובה 1 תגובה אחרונה
    0
    • אבייא אביי

      @אלף-שין כתב בבירור | מיון קבצים מרובים לפי שמות:

      Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "C:\Users\Home\AppData\Local\Programs\Python\Python312\Lib\encodings\cp1255.py", line 23, in decode
      return codecs.charmap_decode(input,self.errors,decoding_table)[0]
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      UnicodeDecodeError: 'charmap' codec can't decode byte 0x9f in position 647: character maps to <undefined>

      השתמשת בקובץ האקסל שהבאתי במג'יק?

      א מנותק
      א מנותק
      אלף שין
      כתב נערך לאחרונה על ידי אלף שין
      #14

      @אביי כתב בבירור | מיון קבצים מרובים לפי שמות:

      השתמשת בקובץ האקסל שהבאתי במג'יק?

      לא, הרצתי את הסקריפט ישירות,
      [אם כי אציין שבחדר מחשבים תמיד יש בעיה עם תוויים בעברית בפייתון]
      אחכה שיפתח.

      אבייא תגובה 1 תגובה אחרונה
      0
      • א אלף שין

        @אביי כתב בבירור | מיון קבצים מרובים לפי שמות:

        השתמשת בקובץ האקסל שהבאתי במג'יק?

        לא, הרצתי את הסקריפט ישירות,
        [אם כי אציין שבחדר מחשבים תמיד יש בעיה עם תוויים בעברית בפייתון]
        אחכה שיפתח.

        אבייא מנותק
        אבייא מנותק
        אביי
        כתב נערך לאחרונה על ידי
        #15

        @אלף-שין תנסה להשתמש בקובץ אקסל הזה, שמצורף בzip שהעליתי למג'יק
        שמות הקבצים.xlsx

        וכן מצורף הקובץ עצמו בארכיון מפוצל
        dist.z01
        dist.zip

        ניתן ליצור עימי קשר 8140hp+mt@gmail.com

        ק א 2 תגובות תגובה אחרונה
        0
        • אבייא אביי

          @אלף-שין תנסה להשתמש בקובץ אקסל הזה, שמצורף בzip שהעליתי למג'יק
          שמות הקבצים.xlsx

          וכן מצורף הקובץ עצמו בארכיון מפוצל
          dist.z01
          dist.zip

          ק מנותק
          ק מנותק
          קוקר
          כתב נערך לאחרונה על ידי
          #16

          @אביי עדיין לא מעתיק את הקבצים

          תגובה 1 תגובה אחרונה
          0
          • אבייא אביי

            @אלף-שין תנסה להשתמש בקובץ אקסל הזה, שמצורף בzip שהעליתי למג'יק
            שמות הקבצים.xlsx

            וכן מצורף הקובץ עצמו בארכיון מפוצל
            dist.z01
            dist.zip

            א מנותק
            א מנותק
            אלף שין
            כתב נערך לאחרונה על ידי
            #17

            @אביי

            Traceback (most recent call last):
              File "<stdin>", line 1, in <module>
              File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\encodings\cp1255.py", line 23, in decode
                return codecs.charmap_decode(input,self.errors,decoding_table)[0]
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            UnicodeDecodeError: 'charmap' codec can't decode byte 0x9c in position 727: character maps to <undefined>
            >>>
            
            
            ק תגובה 1 תגובה אחרונה
            0
            • א אלף שין

              @אביי

              Traceback (most recent call last):
                File "<stdin>", line 1, in <module>
                File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\encodings\cp1255.py", line 23, in decode
                  return codecs.charmap_decode(input,self.errors,decoding_table)[0]
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              UnicodeDecodeError: 'charmap' codec can't decode byte 0x9c in position 727: character maps to <undefined>
              >>>
              
              
              ק מנותק
              ק מנותק
              קוקר
              כתב נערך לאחרונה על ידי
              #18

              @אלף-שין בבקשה תסביר לבור כמוני...

              א תגובה 1 תגובה אחרונה
              0
              • ק קוקר

                @אלף-שין בבקשה תסביר לבור כמוני...

                א מנותק
                א מנותק
                אלף שין
                כתב נערך לאחרונה על ידי
                #19

                @קוקר
                הודעת שגיאה. [בגלל תווים בעברית].

                תגובה 1 תגובה אחרונה
                1
                • ק מנותק
                  ק מנותק
                  קוקר
                  כתב נערך לאחרונה על ידי
                  #20

                  אולי @NH-LOCAL יציל את המצב?

                  NH.LOCALN תגובה 1 תגובה אחרונה
                  0
                  • ק קוקר

                    אולי @NH-LOCAL יציל את המצב?

                    NH.LOCALN מנותק
                    NH.LOCALN מנותק
                    NH.LOCAL
                    מדריכים
                    כתב נערך לאחרונה על ידי
                    #21

                    @קוקר תנסה להמיר את הקובץ לפורמט CSV. זה יהפוך את העסק לפשוט בהרבה (אפשר לעשות את זה דרך "שמור בשם")

                    לחילופין, תנסה להמיר את קובץ האקסל לפורמט UTF-8. כרגע כברירת מחדל סביר להניח שהוא ANSI (ניתן לעשות זאת כנ"ל כמדומה)

                    לכל הפרוייקטים שלי
                    https://nhlocal.github.io

                    ק תגובה 1 תגובה אחרונה
                    0
                    • NH.LOCALN NH.LOCAL

                      @קוקר תנסה להמיר את הקובץ לפורמט CSV. זה יהפוך את העסק לפשוט בהרבה (אפשר לעשות את זה דרך "שמור בשם")

                      לחילופין, תנסה להמיר את קובץ האקסל לפורמט UTF-8. כרגע כברירת מחדל סביר להניח שהוא ANSI (ניתן לעשות זאת כנ"ל כמדומה)

                      ק מנותק
                      ק מנותק
                      קוקר
                      כתב נערך לאחרונה על ידי
                      #22

                      @NH-LOCAL המרתי את לשני הסוגים, ואז הוא גם לא פתח תיקיות חדשות

                      NH.LOCALN תגובה 1 תגובה אחרונה
                      0
                      • ק קוקר

                        @NH-LOCAL המרתי את לשני הסוגים, ואז הוא גם לא פתח תיקיות חדשות

                        NH.LOCALN מנותק
                        NH.LOCALN מנותק
                        NH.LOCAL
                        מדריכים
                        כתב נערך לאחרונה על ידי
                        #23

                        @קוקר ההמרה לקובץ CSV דורשת קוד שונה לחלוטין

                        לכל הפרוייקטים שלי
                        https://nhlocal.github.io

                        ק תגובה 1 תגובה אחרונה
                        1
                        • NH.LOCALN NH.LOCAL

                          @קוקר ההמרה לקובץ CSV דורשת קוד שונה לחלוטין

                          ק מנותק
                          ק מנותק
                          קוקר
                          כתב נערך לאחרונה על ידי
                          #24

                          @NH-LOCAL אולי יש לך פיתרון מכיוון אחר?
                          מצטט את השאלה המקורית

                          @קוקר כתב בבירור | מיון קבצים מרובים לפי שמות:

                          יש לי תיקייה עם 300 קבצים
                          אני רוצה להוציא אותם מהתיקייה הנוכחית (או לחלק אותם לתתי תיקיות באותה תיקיה)
                          ולחלק אותם ל3 תיקיות לפי נושאים.
                          בקובץ אקסל יש לי עמודה אחת עם שמות כל הקבצים כפי שהם מופיעית בתיקייה הנוכחית
                          בעמודה ליד מופיע לאיזה תיקייה זה אמור להיות.
                          אני יכול לסנן את הקבצים שאמורים להגיע לתיקייה מס' 1
                          להעתיק את כל שמות הקבצים ולהדביק אותם באיזה שורת קוד שתוציא אותם מהתיקייה הנוכחית ולהעביר לתיקיה מס' 1.
                          וכן הלאה לשאר הקבצים.

                          NH.LOCALN תגובה 1 תגובה אחרונה
                          0
                          • ק קוקר

                            @NH-LOCAL אולי יש לך פיתרון מכיוון אחר?
                            מצטט את השאלה המקורית

                            @קוקר כתב בבירור | מיון קבצים מרובים לפי שמות:

                            יש לי תיקייה עם 300 קבצים
                            אני רוצה להוציא אותם מהתיקייה הנוכחית (או לחלק אותם לתתי תיקיות באותה תיקיה)
                            ולחלק אותם ל3 תיקיות לפי נושאים.
                            בקובץ אקסל יש לי עמודה אחת עם שמות כל הקבצים כפי שהם מופיעית בתיקייה הנוכחית
                            בעמודה ליד מופיע לאיזה תיקייה זה אמור להיות.
                            אני יכול לסנן את הקבצים שאמורים להגיע לתיקייה מס' 1
                            להעתיק את כל שמות הקבצים ולהדביק אותם באיזה שורת קוד שתוציא אותם מהתיקייה הנוכחית ולהעביר לתיקיה מס' 1.
                            וכן הלאה לשאר הקבצים.

                            NH.LOCALN מנותק
                            NH.LOCALN מנותק
                            NH.LOCAL
                            מדריכים
                            כתב נערך לאחרונה על ידי
                            #25

                            @קוקר נסה את הקוד המצורף.
                            תכניס כמובן את הנתיבים המתאימים
                            זה קוד שאמור להיות מאוד פשוט, והוא נבנה באמצעות gpt4o

                            import os
                            import shutil
                            import csv
                            
                            # נתיב לקובץ ה-CSV
                            csv_file_path = 'path_to_your_file.csv'
                            
                            # נתיב לתיקייה הנוכחית שבה נמצאים הקבצים
                            current_folder_path = 'path_to_your_current_folder'
                            
                            # פתיחת קובץ ה-CSV וקריאת התוכן
                            with open(csv_file_path, newline='', encoding='utf-8') as csvfile:
                                reader = csv.reader(csvfile)
                                next(reader)  # דילוג על כותרות העמודות אם קיימות
                                for row in reader:
                                    file_name, target_folder = row
                                    source_path = os.path.join(current_folder_path, file_name)
                                    target_folder_path = os.path.join(current_folder_path, target_folder)
                                    target_path = os.path.join(target_folder_path, file_name)
                            
                                    # יצירת התיקייה אם לא קיימת
                                    if not os.path.exists(target_folder_path):
                                        os.makedirs(target_folder_path)
                            
                                    # העברת הקובץ
                                    if os.path.exists(source_path):
                                        shutil.move(source_path, target_path)
                                    else:
                                        print(f"File {file_name} does not exist in the source directory.")
                            
                            print("Files have been successfully moved to their respective folders.")
                            

                            לכל הפרוייקטים שלי
                            https://nhlocal.github.io

                            ק א 2 תגובות תגובה אחרונה
                            1
                            • NH.LOCALN NH.LOCAL

                              @קוקר נסה את הקוד המצורף.
                              תכניס כמובן את הנתיבים המתאימים
                              זה קוד שאמור להיות מאוד פשוט, והוא נבנה באמצעות gpt4o

                              import os
                              import shutil
                              import csv
                              
                              # נתיב לקובץ ה-CSV
                              csv_file_path = 'path_to_your_file.csv'
                              
                              # נתיב לתיקייה הנוכחית שבה נמצאים הקבצים
                              current_folder_path = 'path_to_your_current_folder'
                              
                              # פתיחת קובץ ה-CSV וקריאת התוכן
                              with open(csv_file_path, newline='', encoding='utf-8') as csvfile:
                                  reader = csv.reader(csvfile)
                                  next(reader)  # דילוג על כותרות העמודות אם קיימות
                                  for row in reader:
                                      file_name, target_folder = row
                                      source_path = os.path.join(current_folder_path, file_name)
                                      target_folder_path = os.path.join(current_folder_path, target_folder)
                                      target_path = os.path.join(target_folder_path, file_name)
                              
                                      # יצירת התיקייה אם לא קיימת
                                      if not os.path.exists(target_folder_path):
                                          os.makedirs(target_folder_path)
                              
                                      # העברת הקובץ
                                      if os.path.exists(source_path):
                                          shutil.move(source_path, target_path)
                                      else:
                                          print(f"File {file_name} does not exist in the source directory.")
                              
                              print("Files have been successfully moved to their respective folders.")
                              
                              ק מנותק
                              ק מנותק
                              קוקר
                              כתב נערך לאחרונה על ידי
                              #26

                              @NH-LOCAL סליחה על הבורות, אבל לאן מעתיק את הקוד?
                              ואיך אוכל לדעת איפה אני צריך לעדכן

                              ק תגובה 1 תגובה אחרונה
                              0
                              • ק קוקר

                                @NH-LOCAL סליחה על הבורות, אבל לאן מעתיק את הקוד?
                                ואיך אוכל לדעת איפה אני צריך לעדכן

                                ק מנותק
                                ק מנותק
                                קוקר
                                כתב נערך לאחרונה על ידי
                                #27

                                מצרף צילומסך מהניסיון שלי
                                60f82e44-cf3a-4bc8-9b5c-a4c46071f159-image.png

                                NH.LOCALN תגובה 1 תגובה אחרונה
                                0
                                • ק קוקר

                                  מצרף צילומסך מהניסיון שלי
                                  60f82e44-cf3a-4bc8-9b5c-a4c46071f159-image.png

                                  NH.LOCALN מנותק
                                  NH.LOCALN מנותק
                                  NH.LOCAL
                                  מדריכים
                                  כתב נערך לאחרונה על ידי
                                  #28

                                  @קוקר זה קוד פייתון. הקובץ צריך להיות הסיומת py. וצריך להתקין את תוכנת פייתון על המחשב (זה כמו כל התקנה רגילה של תוכנה)

                                  כמו כן, לפני הגרשיים של נתיב הקובץ צריך להיות האות r אחרת זה יוצר בעיות

                                  לכל הפרוייקטים שלי
                                  https://nhlocal.github.io

                                  תגובה 1 תגובה אחרונה
                                  1
                                  • NH.LOCALN NH.LOCAL

                                    @קוקר נסה את הקוד המצורף.
                                    תכניס כמובן את הנתיבים המתאימים
                                    זה קוד שאמור להיות מאוד פשוט, והוא נבנה באמצעות gpt4o

                                    import os
                                    import shutil
                                    import csv
                                    
                                    # נתיב לקובץ ה-CSV
                                    csv_file_path = 'path_to_your_file.csv'
                                    
                                    # נתיב לתיקייה הנוכחית שבה נמצאים הקבצים
                                    current_folder_path = 'path_to_your_current_folder'
                                    
                                    # פתיחת קובץ ה-CSV וקריאת התוכן
                                    with open(csv_file_path, newline='', encoding='utf-8') as csvfile:
                                        reader = csv.reader(csvfile)
                                        next(reader)  # דילוג על כותרות העמודות אם קיימות
                                        for row in reader:
                                            file_name, target_folder = row
                                            source_path = os.path.join(current_folder_path, file_name)
                                            target_folder_path = os.path.join(current_folder_path, target_folder)
                                            target_path = os.path.join(target_folder_path, file_name)
                                    
                                            # יצירת התיקייה אם לא קיימת
                                            if not os.path.exists(target_folder_path):
                                                os.makedirs(target_folder_path)
                                    
                                            # העברת הקובץ
                                            if os.path.exists(source_path):
                                                shutil.move(source_path, target_path)
                                            else:
                                                print(f"File {file_name} does not exist in the source directory.")
                                    
                                    print("Files have been successfully moved to their respective folders.")
                                    
                                    א מנותק
                                    א מנותק
                                    אלף שין
                                    כתב נערך לאחרונה על ידי
                                    #29

                                    @NH-LOCAL

                                    Traceback (most recent call last):
                                      File "<stdin>", line 1, in <module>
                                      File "C:\Users\Home\AppData\Local\Programs\Python\Python312\Lib\encodings\cp1255.py", line 23, in decode
                                        return codecs.charmap_decode(input,self.errors,decoding_table)[0]
                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                    UnicodeDecodeError: 'charmap' codec can't decode byte 0x9c in position 53: character maps to <undefined>
                                    >>>
                                    
                                    
                                    
                                    י NH.LOCALN 2 תגובות תגובה אחרונה
                                    0
                                    • א אלף שין

                                      @NH-LOCAL

                                      Traceback (most recent call last):
                                        File "<stdin>", line 1, in <module>
                                        File "C:\Users\Home\AppData\Local\Programs\Python\Python312\Lib\encodings\cp1255.py", line 23, in decode
                                          return codecs.charmap_decode(input,self.errors,decoding_table)[0]
                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                      UnicodeDecodeError: 'charmap' codec can't decode byte 0x9c in position 53: character maps to <undefined>
                                      >>>
                                      
                                      
                                      
                                      י מנותק
                                      י מנותק
                                      ישראל בוכבינדר
                                      כתב נערך לאחרונה על ידי
                                      #30

                                      @אלף-שין אני לא מומחה גדול בפייתון ובפרט לא בסקריפטים שמישהו אחר כתב 😉 , אבל לכאורה יש כשל שפייתון לא מצליח להעביר אותו (לא יכול להמיר אותו לUTF-8)
                                      אולי בגלל ששמות הקבצים בעברית?

                                      תגובה 1 תגובה אחרונה
                                      0
                                      • א אלף שין

                                        @NH-LOCAL

                                        Traceback (most recent call last):
                                          File "<stdin>", line 1, in <module>
                                          File "C:\Users\Home\AppData\Local\Programs\Python\Python312\Lib\encodings\cp1255.py", line 23, in decode
                                            return codecs.charmap_decode(input,self.errors,decoding_table)[0]
                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                        UnicodeDecodeError: 'charmap' codec can't decode byte 0x9c in position 53: character maps to <undefined>
                                        >>>
                                        
                                        
                                        
                                        NH.LOCALN מנותק
                                        NH.LOCALN מנותק
                                        NH.LOCAL
                                        מדריכים
                                        כתב נערך לאחרונה על ידי NH.LOCAL
                                        #31

                                        @אלף-שין כתב בבירור | מיון קבצים מרובים לפי שמות:

                                        @NH-LOCAL

                                        Traceback (most recent call last):
                                          File "<stdin>", line 1, in <module>
                                          File "C:\Users\Home\AppData\Local\Programs\Python\Python312\Lib\encodings\cp1255.py", line 23, in decode
                                            return codecs.charmap_decode(input,self.errors,decoding_table)[0]
                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                        UnicodeDecodeError: 'charmap' codec can't decode byte 0x9c in position 53: character maps to <undefined>
                                        >>>
                                        
                                        
                                        

                                        נראה שהבעיה בכלל לא בקוד עצמו. אתה צריך פשוט להמיר את הפורמט של קובץ הפייתון. סביר להניח שכרגע הוא אנסי או הפוך

                                        לכל הפרוייקטים שלי
                                        https://nhlocal.github.io

                                        תגובה 1 תגובה אחרונה
                                        0
                                        • ס סתם אחד 2 התייחס לנושא זה

                                        • התחברות

                                        • אין לך חשבון עדיין? הרשמה

                                        • התחברו או הירשמו כדי לחפש.
                                        • פוסט ראשון
                                          פוסט אחרון
                                        0
                                        • חוקי הפורום
                                        • פופולרי
                                        • לא נפתר
                                        • משתמשים
                                        • חיפוש גוגל בפורום
                                        • צור קשר