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

פעמים רבות, עובדי נתונים מתמודדים עם אותה בעיה: Excel מציג באופן שגוי תווים מיוחדים בעת פתיחת קבצי CSV שנוצרו ב-UTF-8. זה כמעט קלאסי, במיוחד כשמדובר בשמות, שמות משפחה או תיאורים רב-לשוניים הכוללים אותיות מוטעמות, ñ, cedilla או אפילו אלפבית קירילי או יווני. במקום לראות את המטעמים ו סמלים בצורה נכונה, מופיעים תווים מוזרים, סימני שאלה או משבצות ריקות, מה שעלול להוביל לפרשנות שגויה ולהצגת נתונים לקויה.
בעיה זו לא משפיעה רק על משתמשים מתקדמים או על אלו שעובדים בסביבות טכניות, אלא על כל אדם או צוות שצריכים לייבא או לצפות נתונים מיישומים, פלטפורמות אינטרנט או מערכות ניהול המייצאות CSV בפורמט UTF-8. הבעיה העיקרית היא שאקסל, כברירת מחדל, אינו מפרש קידוד UTF-8 בקבצי CSV למעט בנסיבות ספציפיות מאוד. למרות שזה אולי נראה כמו בעיה קטנה, לאלץ את קידוד נכון חיוני כדי למנוע בלבול ולהבטיח את שלמות המידע.
מקור הבעיה: מדוע Excel אינו מפרש קבצי UTF-8 CSV בצורה נכונה?
אקסל, במיוחד בגרסאות קודמות שלו, משתמש באופן אוטומטי בהגדרות האזוריות של מערכת ההפעלה כדי לקבוע את הקידוד כאשר אנו פותחים קובץ CSV על ידי לחיצה כפולה או בחירה באפשרות 'קובץ > פתיחה'. משמעות הדבר היא שאם ההגדרה האזורית מוגדרת ל-UTF-8 (שאינה נפוצה כברירת מחדל במערכות Windows), תווים מחוץ לטווח ASCII עשויים להופיע באופן שגוי.
הסיבה העיקרית לשגיאות היא שפורמט ה-CSV, למרות שהוא פשוט ואוניברסלי, אינו נושא מידע על קידודו.לכן, בעוד שיישומים אחרים כגון Google Sheets מניח קידוד UTF-8, Excel מניח קידודים מקומיים כגון ANSI, Windows-1252 או ISO-8859, מה שמוביל לבעיות עם טילדות, eñes ותווים מיוחדים אחרים.
פתרונות מעשיים לפתיחת CSV בפורמט UTF-8 באקסל
ישנן מספר שיטות המאפשרות לך לאלץ את הפרשנות הנכונה של קבצי CSV ב-UTF-8 מאקסל. מבלי להזדקק לפתרונות חיצוניים או עריכת קבצים ידנית. להלן האפשרויות המעשיות ביותר, שנבדקו על ידי משתמשים ומומחים.
פתיחת קבצי CSV בפורמט UTF-8 באמצעות אשף ייבוא הטקסט של Excel

האפשרות הנגישה ביותר שאקסל מציעה היא אשף ייבוא הטקסט, המאפשר לך לציין ידנית את הקידוד בעת פתיחת הקובץ.
- פתח את Excel ובחר גיליון ריק.
- עבור ללשונית "נתונים" ולחץ על "קבל נתונים מטקסט/CSV" או "מטקסט" לפי הגרסה שלך.
- נווטו אל קובץ ה-CSV ובחרו אותו.
- בחלון שמופיע, חפשו את האפשרות לבחור את הקידוד (בגירסאות מודרניות זה בדרך כלל מופיע כ"מקור קובץ"). כאן בחר "65001: Unicode (UTF-8)".
- אנא בדוק את התצוגה המקדימה כדי לוודא שהתווים המיוחדים מוצגים כהלכה לפני אישור.
שיטה זו מונעת הופעת תווים מוזרים ומאפשר ייבוא ישיר וקל, תוך הבטחת תצוגה נכונה של מבטאים, eñes וסמלים אחרים.
ייבוא קבצי CSV בפורמט UTF-8 באמצעות Power Query
טכניקה יעילה נוספת שאושרה על ידי מיקרוסופט עצמה היא שימוש ב-Power Query, כלי המשולב באקסל מאז גרסה 2016 וזמין כתוסף חינמי בגרסאות קודמות.
- ב-Excel, עבור אל הכרטיסייה נתונים ובחר קבל והפוך נתונים..
- בחר "קבל נתונים מקובץ" > "מטקסט/CSV".
- בחר את הקובץ, ובמידת הצורך, התאם את הקידוד באפשרויות המתקדמות ל-UTF-8.
- לחץ על "העלה" כדי לייבא את התוכן לגיליון חדש ללא בעיות קידוד.
Power Query גם מאפשר ניקוי ושינוי נתונים בקלות לפני שמירתם בחוברת העבודה שלך., דבר שימושי במיוחד אם הקבצים מגיעים ממקורות הטרוגניים או מכילים מידע לא סטנדרטי.
פתרונות אם אינך מצליח לשמור כקובץ UTF-8 CSV ישירות באקסל
אחת המגבלות שדווחו על ידי משתמשים היא שאקסל, בהתאם לגרסה ולמערכת ההפעלה, לא תמיד מאפשר לשמור קבצי CSV ישירות ב-UTF-8.במקרים כאלה, ניתן להשתמש בכלים ספציפיים למערכת כדי להמיר את הקובץ.
השתמש בפנקס הרשימות של Windows כדי לאלץ קידוד UTF-8
- פתחו את קובץ ה-CSV המקורי באקסל ובחרו באפשרות "שמירה בשם" והקלידו "טקסט יוניקוד (*.txt)".
- פתח את קובץ ה-.txt שנוצר ב-Notepad.
- תראו שהנתונים מופרדים באמצעות טאבים.השתמש בפונקציה "החלפה" (Ctrl+H) כדי לשנות את כל הטאבים לפסיקים.
- תחת "קובץ > שמירה בשם", הזינו את השם עם הסיומת .csv ובחרו קידוד UTF-8 בתפריט הנפתח של סוג הקידוד..
- שמור את הקובץ ופתח אותו באמצעות Excel באמצעות אשף הייבוא או Power Query כמתואר לעיל..
שיטה זו שימושית אם קובצי ה-Excel שלכם אינם מציעים את האפשרות "CSV UTF-8 (מופרד בפסיקים)" בעת השמירה, והיא גם מהירה ואינה דורשת יישומים נוספים.עם זאת, הימנעו משינוי קובץ ה-CSV שנוצר באקסל, מכיוון שהוא עלול לאבד שוב את קידוד UTF-8.
פתרונות מתקדמים: אוטומציה של המרה וייבוא של UTF-8 CSV
אם אתם מנהלים כמויות גדולות של קבצי CSV או רוצים להפוך את כל התהליך לאוטומטי כדי להימנע מטעויות אנוש, ישנן מספר אפשרויות באמצעות סקריפטים ומקרואים.הן עבור בעלי פרופילים טכניים והן עבור אלו הזקוקים ליעילות בתהליכי העבודה שלהם, חלופות אלו אידיאליות.
המרת CSV לאקסל באמצעות Python ו-Pandas
פייתון, יחד עם ספריית פנדה, היא אחת הדרכים החזקות והגמישות ביותר לתפעל נתונים ולהבטיח המרה תקינה מ-CSV UTF-8 לאקסל.:
import pandas as pd
# Leer archivo CSV con codificación UTF-8
df = pd.read_csv('archivo.csv', encoding='utf-8')
# Guardar como archivo Excel conservando todos los caracteres
df.to_excel('archivo.xlsx', index=False)
בדרך זו תבטיח שכל העמודות והתווים יישארו שלמים. בעת המרה לפורמט אקסל. בנוסף, אוטומציה מאפשרת לך לנהל קבצים מרובים או לשלב אותם בתהליך גדול יותר.
ייבוא UTF-8 CSV באמצעות מאקרו VBA באקסל
Excel מאפשר לך ליצור פקודות מאקרו ב-Visual Basic for Applications (VBA) כדי להפוך את תהליך הייבוא לאוטומטי תוך כיבוד הקידוד.דוגמה פשוטה תהיה:
Sub ImportCSV()
Dim ws As Worksheet
Dim filePath As String
filePath = "C:\ruta\a\tu\archivo.csv"
Set ws = ThisWorkbook.Sheets("Hoja1")
With ws.QueryTables.Add(Connection:="TEXT;" & filePath, Destination:=ws.Range("A1"))
.TextFilePlatform = 65001 'UTF-8
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileCommaDelimiter = True
.TextFileColumnDataTypes = Array(1)
.Refresh BackgroundQuery:=False
End With
End Sub
זה מאפשר לך להגדיר את הקידוד, את המפרידים ולהעביר את התוכן שניקה ישירות לגיליון האלקטרוני..
אוטומציה עם PowerShell ב-Windows
PowerShell הוא כלי שימושי נוסף עבור משתמשי Windows שצריכים לעבד ולשנות קבצים באמצעות סקריפטים.דוגמה לרצף יכולה להיות:
$csvPath = "C:\ruta\a\archivo.csv"
$excelPath = "C:\ruta\a\archivo.xlsx"
$csv = Import-Csv -Path $csvPath -Delimiter ','
$excel = New-Object -ComObject Excel.Application
$excel.Visible = $false
$workbook = $excel.Workbooks.Add()
$worksheet = $workbook.Worksheets.Item(1)
$row = 1
$csv | ForEach-Object {
$col = 1
$_.PSObject.Properties | ForEach-Object {
$worksheet.Cells.Item($row, $col) = $_.Value
$col++
}
$row++
}
$workbook.SaveAs($excelPath)
$workbook.Close()
$excel.Quit()
זה שימושי ביותר לאוטומציה של עיבוד אצווה של קבצים או לשילובו במשימות ניהוליות..
שימוש בכלים חיצוניים וממירים מקוונים עבור CSV UTF-8
אם אין לכם חשק להתמודד עם סקריפטים או פקודות מאקרו, ישנם כלים של צד שלישי וממירים מקוונים שמקלים על המרת UTF-8 CSV לפורמטים תואמי Excel.כמה דוגמאות כוללות יישומים כגון "יבוא קבצי CSV של Excel" או שירותי אינטרנט כגון convertcsv.com, המאפשרות לך להעלות את הקבצים שלך, לבחור את הקידוד ולהוריד את התוצאה מוכנה לפתיחה באקסל.
כלים אלה בדרך כלל כוללים ממשקים חזותיים פשוטים והם מאפשרים לך להתאים פרמטרים כגון מפרידים, עיצוב טקסט וקידוד.מה שהופך אותם לאידיאליים עבור אלו הזקוקים לפתרון מהיר ללא ידע טכני מתקדם. בנוסף, חלקם מאפשרים עיבוד אצווה כדי לחסוך זמן אם יש לכם עשרות או מאות קבצים.
כותב נלהב על עולם הבתים והטכנולוגיה בכלל. אני אוהב לחלוק את הידע שלי באמצעות כתיבה, וזה מה שאעשה בבלוג הזה, אראה לכם את כל הדברים הכי מעניינים על גאדג'טים, תוכנה, חומרה, טרנדים טכנולוגיים ועוד. המטרה שלי היא לעזור לך לנווט בעולם הדיגיטלי בצורה פשוטה ומשעשעת.