Python המרת CSV לקובץ טקסט (.csv ל-.txt) – Finxter

Share on facebook
Share on twitter
Share on linkedin
Share on telegram
Share on whatsapp
Share on email
פרסומת
תכנון תשתיות רפואיות


אתגר בסיסי

הנה התוכן של קובץ CSV לדוגמה "my_file.csv" בשימוש בקטע הקוד שלנו למטה:

Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000

אם אתה מדמיין את ה-CSV הזה בצורת טבלה, זה נראה כך:

שֵׁם עבודה גיל הַכנָסָה
אליס מְתַכנֵת 23 110000
בוב מְנַהֵל 34 90000
קרל מכירות 45 50000

הבעיה הבסיסית היא להמיר את קובץ ה-CSV "my_file.csv" לקובץ TXT חדש "my_file.txt" כפי שהוא מבלי לשנות את תוכנו

Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000

אנחנו מתחילים בחקירת האתגר הבסיסי הזה ובונים משם על ידי שינוי המפריד ושימוש ב-Pandas כדי לגשת לעמודות בודדות.

אבל דבר ראשון: כיצד להמיר קובץ CSV לקובץ TXT מבלי לשנות את תוכנו?

שיטה 1: CSV ל-TXT ללא שינוי

אם אתה רוצה לשמור את התוכן (כולל המפריד ',') בקובץ ה-CSV ללא שינוי, ההמרה פשוטה: קרא את .csv קובץ וכתוב את התוכן שלו לתוך חדש .txt קובץ באמצעות open(), read()ו write() פונקציות מבלי לייבא ספריה כלשהי.

במילים אחרות, בצע את שלושת השלבים כדי לכתוב CSV לקובץ TXT ללא שינוי:

  1. פתח את קובץ ה-CSV במצב קריאה ואת קובץ ה-TXT במצב כתיבה.
  2. קרא את קובץ ה-CSV ואחסן אותו במשתנה.
  3. כתוב את התוכן לקובץ TXT.

להלן קטע הקוד שפותר את האתגר הבסיסי שלנו:

# 1. Open the CSV file in reading mode and the TXT file in writing mode
with open('my_file.csv', 'r') as f_in, open('my_file.txt', 'w') as f_out:

    # 2. Read the CSV file and store in variable
    content = f_in.read()

    # 3. Write the content into the TXT file
    f_out.write(content)

😲 עובדה לא ידועה: Python מאפשר ביטויים מרובים בתוך ה מנהל הקשר (with שורת פתיחה) אם תפריד ביניהם בפסיק.

התוכן של .csv ו .txt הקבצים זהים:

Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000

בינתיים הכל טוב. אבל מה אם יש לך בעיה קצת אחרת:

שיטה 2: CSV to TXT Empty Space Delimiter

אתגר: כיצד להמיר קובץ CSV לקובץ TXT ב-Python על ידי החלפת המפריד ',' עם החלל הריק ' '?

דוגמא: המר את הקובץ הבא 'my_file.csv'

Name,Job,Age,Income
Alice,Programmer,23,110000
Bob,Executive,34,90000
Carl,Sales,45,50000

… לקובץ הזה 'my_file.txt'

Name Job Age Income
Alice Programmer 23 110000
Bob Executive 34 90000
Carl Sales 45 50000

הנה הפתרון הפשוט לאתגר הזה:

אם אתה רוצה לשנות את המפריד ',' למחרוזת ריקה ' ' בקובץ ה-TXT החדש, קרא את .csv קובץ וכתוב את התוכן שלו לתוך חדש .txt קובץ באמצעות ה open(), read(), string.replace()ו write() פונקציות מבלי לייבא ספריה כלשהי.

כדי להמיר CSV לקובץ TXT ב- Python, בצע את השלבים הבאים:

  1. פתח את קובץ ה-CSV במצב קריאה ואת קובץ ה-TXT במצב כתיבה.
  2. קרא את קובץ ה-CSV למחרוזת.
  3. צור מחרוזת חדשה על ידי החלפת כל המופעים של המפריד ',' עם המחרוזת הריקה ' '.
  4. כתוב את התוכן לקובץ TXT.
with open('my_file.csv', 'r') as f_in, open('my_file.txt', 'w') as f_out:
    content = f_in.read().replace(',', ' ')
    f_out.write(content)

בינתיים הכל טוב. אבל ב-Python, תמיד יש הרבה דרכים לפתור בעיה. בואו נסתכל על אלטרנטיבה רבת עוצמה לגישה ללא ספרייה ששימשה בעבר:

שיטה 3: CSV ל-TXT באמצעות Pandas

בהנחה שכבר עשית התקינו פנדות בסביבה המקומית שלך, אתה יכול לכתוב א CSV לקובץ TXT ב-Python pandas באמצעות ארבעת השלבים הבאים:

  1. ייבא את pandas סִפְרִיָה.
  2. קרא את קובץ ה-CSV לתוך DataFrame באמצעות pd.read_csv().
  3. המר את ה-DataFrame למחרוזת באמצעות המובנה str() פוּנקצִיָה.
  4. הדפס את המחרוזת לקובץ באמצעות ארגומנט הקובץ של ה- print() פונקציה, למשל.

הנה הדוגמה הבסיסית של Python:

import pandas as pd

df = pd.read_csv('my_file.csv')
content = str(df)
print(content, file=open('my_file.txt', 'w'))

😲 עובדה לא ידועה: של פייתון print() הפונקציה מאפשרת לך לכתוב א מחרוזת ישירות לקובץ אובייקט אם אתה משתמש ב- file ארגומנט כפי שמוצג בקטע הקוד.

הפלט של קטע הקוד הקודם הוא כדלקמן:

    Name         Job  Age  Income
0  Alice  Programmer   23  110000
1    Bob   Executive   34   90000
2   Carl       Sales   45   50000

יפה, לא? 💜

בואו נסתכל על הווריאציה האחרונה של בעיית "CSV ל-TXT" המטופלת במדריך זה:

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

כיצד לכתוב עמודה או שורה בודדת אחת או יותר של קובץ ה-CSV לתוך קובץ TXT באמצעות Python Pandas?

  1. ייבא את pandas סִפְרִיָה.
  2. קרא את קובץ ה-CSV לתוך DataFrame באמצעות pd.read_csv().
  3. בחר את העמודות או השורות לכתיבה לקובץ TXT מה-DataFrame באמצעות פנדות אינדקס או חיתוך.
  4. שִׂיחָה df.to_string() להמיר את ה-DataFrame למחרוזת בצורה הניתנת לקריאה על ידי אדם.
  5. הדפס את המחרוזת לקובץ באמצעות ארגומנט הקובץ של ה- print() פונקציה, למשל.
import pandas as pd

df = pd.read_csv('my_file.csv')
content = str(df['Name'])
print(content, file=open('my_file.txt', 'w'))

התוכן בקובץ חדש 'my_file.txt':

0    Alice
1      Bob
2     Carl

כמובן, אתה יכול גם לבחור שורות בודדות או עמודות מרובות כך:

import pandas as pd

df = pd.read_csv('my_file.csv')
content = df['Name'][:2].to_string()
print(content, file=open('my_file.txt', 'w'))

תוכן הקובץ החדש 'my_file.txt' מראה שרק שתי השורות הראשונות נלקחו עקב ה פִּלוּחַ פעולה [:2] בקטע הקוד הקודם:

0    Alice
1      Bob

בוצע! הרווחת קצת הנאה מתכנות:

הומור מתכנת

Question: How did the programmer die in the shower? ☠️

תשובה: הם קראו את ההוראות של בקבוק השמפו:
לְהַקְצִיף. לִשְׁטוֹף. חזור.

סיכום

אני מקווה שנהניתם לקרוא את המאמר הזה ולמדתם משהו חדש. אל תהסס להצטרף לניוזלטר הדוא"ל שלנו עם גיליונות צ'יט בחינם ומדריכים שבועיים של Python:



קישור לכתבת המקור – 2022-06-25 10:17:31

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on telegram
Telegram
Share on whatsapp
WhatsApp
Share on email
Email
פרסומת
MAGNEZIX מגנזיקס

עוד מתחומי האתר