כיצד לנתח קובץ CSV באמצעות PHP

Kyzd Lnth Qwbz Csv B Mz Wt Php



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

במדריך זה נסביר כיצד ניתן לנתח את א CSV קובץ באמצעות PHP.







נתח קובץ CSV באמצעות PHP

השיטה המובנית של PHP שמנתחת את קובץ ה-CSV היא fgetcsv() והוא קורא שורה מקובץ ה-CSV ומנתח אותו למערך.



התחביר של השימוש ב- fgetcsv() הפונקציה ב-PHP היא כדלקמן:



fgetcsv ( '<שם קובץ>.csv' , אורך , ',' )

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





השתמש בפונקציה fgetcsv() כדי לנתח קובץ CSV ב-PHP

הנה איך אתה יכול להשתמש ב fgetcsv() פונקציה לנתח קובץ CSV ב-PHP:

שלב 1 : ראשית, פתח קובץ CSV באמצעות ה fopen() פוּנקצִיָה. כאן מצב r משמש לפתיחת הקובץ לקריאה ו $handle היא הידית שמחזיקה את הנתונים מהקובץ:



$handle = fopen ( 'filename.csv' , 'ר' ) ;

שלב 2 : לאחר מכן, אתה יכול להשתמש בלולאת while כדי לנתח כל אחד CSV שורה בנפרד, הלולאה תימשך עד סוף הקובץ:

בזמן ( ( $data = fgetcsv ( $handle , 1000 , ',' ) ) !== שֶׁקֶר )

{

// קרא נתונים של קובץ CSV

}

שלב 3 : לאחר קריאת הקובץ, עליך לסגור אותו באמצעות הפונקציה fclose() על ידי העברת handle כארגומנט היחיד.

לסגור ( $handle ) ;

לפניכם קוד מלא ב-PHP שעוקב אחר השלבים לעיל ומאפשר לכם לפתוח את קובץ ה-CSV במצב קריאה בלבד, אם הקובץ נמצא, אחרת הוא יחזור שֶׁקֶר :



$handle = fopen ( 'data.csv' , 'ר' ) ;

בזמן ( ( שורה $ = fgetcsv ( $handle ) ) !== שֶׁקֶר ) {

var_dump ( שורה $ ) ;

}

לסגור ( $handle ) ;

?>

הקוד שלמעלה פותח תחילה את הקובץ 'data.csv' במצב קריאה באמצעות הפונקציה fopen() ומקצה את ידית הקובץ למשתנה $handle. לאחר מכן, הוא קורא כל שורה בקובץ באמצעות לולאת while והפונקציה fgetcsv() . הקוד משתמש בהשוואה שווא !== כדי להבטיח קריאה עד לסוף הקובץ.

תְפוּקָה

המרת קובץ CSV למערך רב מימדי ב-PHP

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



$filename = 'data.csv' ;

$nested_array = [ ] ;

אם ( ( $handle = fopen ( ' {$filename} ' , 'ר' ) ) !== שֶׁקֶר )

{

בזמן ( ( $data = fgetcsv ( $handle , 1000 , ',' ) ) !== שֶׁקֶר )
{
$nested_array [ ] = $data ;
}
לסגור ( $handle ) ;


}

הֵד '
'  ; 

var_dump ( $nested_array ) ;

הֵד '
'
;

כדי להפוך נתונים בפורמט קריא, הקוד לעיל משתמש בפונקציה שנקראת var_dump() שמעצב ומוציא את הנתונים בצורה מובנית בתוך תג קדם HTML.

תְפוּקָה

הנה דרך נוספת לפתוח את CSV קובץ ב-PHP בצורה מותאמת יותר. הקוד הנתון למטה יציג את הנתונים של כל שורה. ראשית, פתחנו את הקובץ באמצעות ה פונקציית fopen() . לאחר מכן השתמש בידית כדי למקם כל שורה של הקובץ בתוכה, והשתמש בלולאת while כדי לקרוא את כולו CSV קובץ עד שהמצביע מגיע לסוף הקובץ. בסוף נסגור את הקובץ:



שורה $ = 1 ;

אם ( ( $handle = fopen ( 'data.csv' , 'ר' ) ) !== שֶׁקֶר ) {

בזמן ( ( $data = fgetcsv ( $handle , 1000 , ',' ) ) !== שֶׁקֶר ) {

$numbers = לספור ( $data ) ;

הֵד '

$numbers שדות בשורה שורה $ :

\n '
;

שורה $ ++;

ל ( $c = 0 ; $c < $numbers ; $c ++ ) {

הֵד $data [ $c ] . '
\n '
;

}

}

לסגור ( $handle ) ;

}

?>

תְפוּקָה

שורה תחתונה

ב PHP , נוכל לפתוח את הקובץ באמצעות ה fopen() פונקציה, קרא את הקובץ שורה אחר שורה באמצעות ה fgetcsv() פונקציה, וסגור את הקובץ באמצעות fclose() פוּנקצִיָה. ניתן לחזור על תהליך זה עבור כל שורה ב- CSV קובץ, המאפשר לך לקרוא ולתפעל בקלות נתונים טבלאיים ב-PHP.