XLSX ל-CSV ב-Python

Xlsx L Csv B Python



בשנים האחרונות פייתון עלתה כאחת משפות התכנות הדומיננטיות. קהילת Python התרחבה משמעותית כתוצאה מהפופולריות והשימושיות של Python. במאמר זה נפרט כיצד להשתמש ב-Python כדי להמיר XLSX ל-CSV. אנו מודעים לכך שקובצי אקסל משמשים לעתים קרובות לביצוע ניתוח פיננסי, ארגון הנתונים, הזנת נתונים, חשבונאות, ניהול נתונים, יצירת תרשימים וגרפים וכו'. עם זאת, אנו מעדיפים בעיקר להשתמש בקובצי CSV לייבוא ​​וייצוא נתונים. גישה אחת היא להעביר את הנתונים המובנים באמצעות קובץ טקסט רגיל.

מהו קובץ Xslx?

בעת יצירת גיליונות אלקטרוניים בגירסאות האחרונות של Excel, Microsoft משתמשת בקובץ XLSX כסוג הקובץ המוגדר כברירת מחדל. בדומה לסוג הקובץ DOCX של Word, אנו יכולים לפתוח את קבצי XLSX באמצעות מגוון יישומים/תוכניות.

מהו קובץ CSV?

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







ההבדלים העיקריים בין קבצי XLSX ו-CSV

משתמשים לעתים קרובות משתמשים ב-CSV ו-XLSX זה בזה, והם בדרך כלל אינם מודעים להבחנות ביניהם, מה המאפיינים הבסיסיים שלהם וכיצד הם פועלים. הוא משמש רק כמקור מידע עבור המשתמש. כמעט כל עסק וארגוני משתמשים בשניהם כדי לסייע למשתמשים בניהול, עדכון ואחסון הנתונים עבור המשתמש. להלן כמה הבדלים עיקריים בין קבצי XLSX ו-CSV שכדאי לדעת:



  • פורמט ה-CSV שומר נתונים טבלאיים בקובץ טקסט מפריד עם סיומת .csv. בעוד שקובץ Excel או XLSX הוא גיליון אלקטרוני המאחסן קבצים בפורמט הקנייני שלו, כלומר. xls או XLSX.
  • קבצי Excel הם קבצים בינאריים המכילים את הנתונים בכל גליון עבודה בחוברת עבודה. בעוד ש-CSV הוא פורמט טקסט פשוט ופשוט עם רצף של ערכי נתונים מופרדים בפסיקים.
  • לא ניתן לבצע פעולות נתונים בקובצי CSV. עם זאת, הם יכולים להתבצע על קבצי אקסל.
  • קבצי CSV מהירים יותר וצורכים פחות זיכרון מקבצי XLSX. עם זאת, Excel משתמש יותר בזיכרון בעת ​​ייבוא ​​הנתונים.
  • אם נשווה CSV עם Excel, נוכל לפתוח את קבצי ה-CSV בכל עורך טקסט של Windows בעוד שקבצי Excel לא יכולים.

כיצד ניתן להמיר קובץ XLSX ל-CSV באמצעות Python?

ניתן להפוך קובץ XLSX לקובץ CSV ב-Python באמצעות מגוון שיטות. Python כולל מגוון מודולים ופונקציות שיכולים לסייע לנו לבצע משימה זו. כאן, נעבור על כמה שיטות שניתן להשתמש בהן כדי להמיר את קבצי XLSX לקבצי CSV ב- Python.



תנאים מוקדמים לביצוע המרת Excel ל-CSV

התקנת הדרישות היא השלב הראשון. אנו משתמשים במודולים כמו שילוב Pandas, CSV ו-Openpyxl וכו' במדריך זה. חבילת Pandas של Python מאפשרת מניפולציה וניתוח של נתונים. Pandas היא ספרייה ידועה בקרב מתכנתי Python. ניתן לקרוא ולכתוב קובצי Excel באמצעות חבילת Python הידועה בשם Openpyxl. לא נעסוק בספרייה הזו ישירות. פנדות במקום עושות שימוש ב-Openpyxl באופן פנימי.





באמצעות מאגר PyPI, נוכל להתקין את שתי החבילות:

שיטה 1: המרת XLSX ל-CSV באמצעות מודול Pandas

דוגמה 1: המרת קובץ XLSX אחד ל-CSV



Pandas הוא מודול קוד פתוח שנוצר עבור שפת התכנות Python כדי לתפעל ולנתח את הנתונים. כדי לעבוד עם סדרות זמן וטבלאות מספריות, Pandas מספקת מגוון פונקציונליות ותכונות. באמצעות פנדות, ניתן לקרוא, לסנן ולסדר מחדש מערכי נתונים קטנים ועצומים כאחד. ואת התוצאות ניתן להפיק במגוון פורמטים כגון Excel, JSON ו-CSV. אנו משתמשים בשיטת read_excel() של Pandas לקריאת קובץ אקסל, ובשיטת to_csv() כדי להפוך את ה-DataFrame לקובץ CSV.

אנו מדפיסים את קובץ ה-.csv שלנו כ-DataFrame כפי שניתן לראות בפלט. הסקריפט הקודם ממיר את קובץ ה-XLSX שלנו ל-CSV ויוצר קובץ 'salary.csv' בספרייה הנוכחית.

דוגמה 2: המרת קובץ XLSX (עם גיליונות מרובים) ל-CSV

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

אנו משתמשים בקובץ XLSX לדוגמה הכולל שני גליונות עבודה או גיליונות אלקטרוניים או יותר.

כפי שניתן לראות, קובץ ה-XLSX שלנו מורכב משני גיליונות (גיליון1 וגיליון2). כעת, אנו כותבים קוד להמרת קובץ XLSX זה ל-CSV.

תְפוּקָה:

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

דוגמה 3: המרת קובצי XLSX מרובים לקובצי CSV נפרדים

שקול תרחיש שבו אתה צריך להמיר מספר קובצי Excel בספריית העבודה שלך ל-CSV. אתה יכול להשתמש בשיטה הזו. נתחיל בהנחה שכל קובץ מכיל רק גיליון אחד. לאחר מכן, אנו מרחיבים את השיטה שלנו לטיפול במספר קבצים ומספר גיליונות. הקוד של Python שאחריו עושה שימוש במודול הסטנדרטי של glob. אנו מתאימים את נתיבי הקבצים באמצעות תבניות עם Glob. זה מתאים לכל הקבצים עם סיומת .xlsx בספריית העבודה. לאחר מכן, אנו מפתחים פונקציה שקוראת את קבצי האקסל ושומרת אותם כקבצי CSV. אנו קוראים לפונקציה הזו בכל נתיב קובץ שנמצא.

הסקריפט הקודם הזה ממיר את כל קבצי xlsx בספרייה הנוכחית לקבצי CSV.

כעת, אנו ממירים את קבצי XLSX עם מספר גיליונות אלקטרוניים ל-CSV. זה כנראה החלק הקשה. שלושה קבצי Excel נמצאים בספריית העבודה שלנו. כמו כן, חלקם מורכבים מיותר מגיליון אחד. אנו שואפים:

  1. צור ספרייה עבור כל קובץ גיליון אלקטרוני,
  2. המר את גיליונות הקבצים של Excel ל-CSV ויש לשמור אותם בספרייה החדשה שנוצרה.

הסקריפט ממיר את ה-XLSX עם גיליונות בודדים ומרובים לקבצי CSV נפרדים ומאחסן אותם בספריות חדשות עם אותו שם.

כדי לאחזר כל קובץ Excel שנמצא בספרייה הנוכחית, נעשה שימוש בפונקציית glob. לאחר מכן, נוצרות תיקיות עבור כל קובץ XLSX באמצעות הפונקציה os.mkdir. לאחר מכן נוצר קובץ CSV עבור כל גיליון בתוך הספרייה החדשה על ידי מעבר על שם הגיליון.

שיטה 2: המרת XLSX ל-CSV באמצעות מודולי Openpyxl ו-CSV

בשיטה זו, נשתמש במודולים openpyxl ו-CSV כדי להמיר את קבצי XLSX ל-CSV. כדי לקרוא ולכתוב קבצי xlsx, xlsm, xltx ו-xltm 2010, ניתן להשתמש במודול Python openpyxl. מודול ה-CSV כולל שיעורים המאפשרים קריאה וכתיבה של נתונים טבלאיים בפורמט CSV.

כדי לקרוא או לטעון את קובץ xlsx שלנו, אנו משתמשים בפונקציה load_workbook() של מודול openpyxl. אתה יכול להשתמש בפונקציה זו אם אתה צריך לכתוב או לקרוא קובץ XLSX/Excel קיים ב-Python. לאחר ההפעלה של Excel, אנו משתמשים בפונקציה csv.writer() כדי ליצור את קובץ ה-CSV שלנו. לאחר מכן, ה-for-loop משמש לאחסון הנתונים בתאי הנתונים של קובץ ה-CSV. אנו ממירים את קובץ example.xlsx שלנו ל-myfile.csv כפי שניתן לראות בתמונה הבאה:

סיכום

במדריך זה, נתנו לך מבוא קצר לקובצי XLSX וקבצי CSV. הסברנו את ההבדלים העיקריים בין שני פורמטי הקבצים. דנו בשתי שיטות עם דוגמאות מרובות כדי ללמד כיצד ניתן להמיר קבצי XLSX עם גיליונות בודדים או מרובים לקובצי CSV. יישמנו דוגמה להמרת קובצי XLSX מרובים לקבצי CSV בו זמנית. זה יכול להיות פשוט או קשה להמיר את הנתונים מ-Excel ל-CSV. אם יש לך רק קובץ אחד עם מספר קטן של גיליונות, זה פשוט. אבל אם לא, זה יכול להיות קשה.