วิธีเขียนรายการเป็น CSV ใน Python

หากคุณต่อสู้กับรายการ Python และสงสัยว่าจะบันทึกเป็นไฟล์ CSV ได้อย่างไร คุณมาถูกที่แล้ว หนึ่งในงานที่พบบ่อยที่สุดใน Python คือการเขียนรายการลงในไฟล์ที่คั่นด้วยเครื่องหมายจุลภาค และวันนี้ เราจะเปลี่ยนคุณให้กลายเป็นมืออาชีพในการเสกไฟล์ CSV!

ในการเขียนรายการไปยัง CSV ใน Python คุณสามารถใช้โมดูลในตัวที่เรียกว่า csv ที่ออกแบบมาโดยเฉพาะสำหรับการอ่านและเขียนไฟล์ CSV คลาส csv.writer ของโมดูลมีฟังก์ชันสำหรับการเขียนรายการอย่างง่ายและซ้อนกันไปยังไฟล์ CSV

วิธีอื่นๆ เพื่อให้ได้ผลลัพธ์เดียวกัน ได้แก่ การติดตั้งและใช้งานโมดูล Pandas หรือ NumPy ภายนอก

บทความนี้จะอธิบายแนวคิดและแนะนำคุณทีละขั้นตอนตลอดกระบวนการ พร้อมตัวอย่างโค้ดทั้งหมดที่คุณต้องการเพื่อเริ่มต้น

ไปกันเถอะ!

สารบัญ

รายการใน Python คืออะไร

วิธีเขียนรายการเป็น CSV ใน Python

รายการใน Python เป็นโครงสร้างข้อมูลในตัวที่ใช้เก็บหลายรายการในตัวแปรเดียว

รายการ Python คือ:

  • สั่งซื้อ (เริ่มจากศูนย์)

  • ไม่แน่นอน (สามารถแก้ไขได้)

  • สามารถเก็บค่าที่ซ้ำกันได้

รายการถูกกำหนดโดยมีค่าระหว่างวงเล็บเหลี่ยม [] และรายการจะถูกคั่นด้วยเครื่องหมายจุลภาค ข้อมูลในรายการสามารถเป็นประเภทข้อมูลใดก็ได้ เช่น ตัวเลข สตริง หรือแม้แต่รายการอื่นๆ

นี่คือตัวอย่างการสร้างรายการอย่างง่าย:

products = [“t-shirts”, “hoodies”, “jeans”]

รายการของรายการใน Python

รายการของรายการเรียกอีกอย่างว่ารายการที่ซ้อนกัน รายการเหล่านี้เป็นรายการที่มีรายการอื่นเป็นองค์ประกอบ

มักใช้ใน Python เพื่อแสดงข้อมูลที่มีโครงสร้างในแถวและคอลัมน์ โดยทั่วไปจะใช้ในสถานการณ์ที่คุณต้องการจัดกลุ่มข้อมูลที่เกี่ยวข้องกัน

ต่อไปนี้คือตัวอย่างการสร้างรายการซ้อนที่แสดงถึงผลิตภัณฑ์ ราคา และการขาย

product_sales = [[“t-shirts”, 9.99, 342], [“hoodies”, 24.99, 118], [“jeans”, 29.99, 612]

ไฟล์ CSV และโมดูล CSV ใน Python

ไฟล์ CSV แสดงข้อมูลแบบตารางในรูปแบบไฟล์อย่างง่าย แต่ละบรรทัดในไฟล์จะสอดคล้องกับแถวในตาราง แต่ละค่าในแถว (หรือบรรทัด) คั่นด้วยเครื่องหมายจุลภาค ซึ่งเป็นสาเหตุที่รูปแบบนี้เรียกว่า 'ค่าที่คั่นด้วยเครื่องหมายจุลภาค'

นี่คือลักษณะของไฟล์ที่แสดงผลิตภัณฑ์ ราคา และยอดขายในรูปแบบ CSV:

  • เสื้อยืด, 9.99, 342

  • เสื้อฮู้ด, 24.99, 118

  • กางเกงยีนส์, 29.99, 612

วิธีเขียนรายการเป็น CSV ใน Python

โมดูลcsvเป็นโมดูล Python ในตัวที่มีเครื่องมือในการอ่านและเขียนข้อมูลในรูปแบบ CSV มีประโยชน์อย่างยิ่งเนื่องจากความเรียบง่ายและมีประสิทธิภาพ

เมื่อนำเข้า โมดูล csvคุณจะสามารถเข้าถึง คลาส csv.writer()ซึ่งช่วยให้คุณสร้างอ็อบเจกต์ตัวเขียนที่สามารถเขียนสตริงที่มีตัวคั่นไปยังอ็อบเจ็กต์ไฟล์ได้

เอาล่ะ ตอนนี้เราได้กล่าวถึงพื้นฐานแล้ว มาดูวิธีเขียนรายการอย่างง่ายไปยัง CSV โดยใช้ Python ในหัวข้อถัดไป

วิธีเขียนรายการอย่างง่ายเป็น CSV ใน Python

เทคนิคแรกในการเรียนรู้สำหรับไฟล์รายการแบบง่าย (ไม่ซ้อนกัน) ที่มีลักษณะดังนี้:

  • เสื้อยืด

  • เสื้อฮู้ด

  • ยีนส์

วิธีเขียนรายการเป็น CSV ใน Python

ขั้นตอนกว้างๆ ในการเขียนรายการไปยังไฟล์ CSV คือ:

  1. นำเข้าโมดูลcsv

  2. สร้างรายการ Python

  3. เปิดไฟล์ CSV ในโหมดเขียน

  4. ใช้ ฟังก์ชัน Writerow()ของวัตถุตัวเขียน csv

  5. บันทึกและปิดไฟล์ CSV

ฟังก์ชัน Writerow ()จะเขียนข้อมูลหลายแถว กล่าวคือ ข้อมูลทั้งหมดลงในไฟล์ นี่คือรหัสพร้อมความคิดเห็นโดยละเอียด

# Step 1: Importing the CSV module
import csv

# Step 2: Creating a Python list
my_list = ["t-shirts", "hoodies", "jeans"]

# Step 3: Opening a CSV file in write mode

with open('products.csv', 'w', newline='') as file:
    # Step 4: Using csv.writer to write the list to the CSV file
    writer = csv.writer(file)
    writer.writerow(my_list) # Use writerow for single list

# Step 5: The file is automatically closed when exiting the 'with' block

การใช้ตัวจัดการบริบท

หากคุณไม่คุ้นเคยกับวิธีการ "กับ" ในการทำงานกับไฟล์ นี่คือเทคนิคที่ใช้ตัวจัดการบริบทที่จัดการทรัพยากรไฟล์

ตัวอย่างเช่น เมื่อคุณใช้เพื่อเขียนไฟล์ CSV ไฟล์จะถูกปิดโดยอัตโนมัติเมื่อคำสั่ง with สิ้นสุดลง

วิธีเขียนรายการใน CSV

ด้วยรายการของรายการ แต่ละรายการภายในควรเป็นแถว CSV ในไฟล์ นี่คือลักษณะของข้อมูล CSV:

วิธีเขียนรายการเป็น CSV ใน Python

ขั้นตอนกว้างๆ จะคล้ายกับส่วนก่อนหน้า ยกเว้นว่าคุณใช้ ฟังก์ชัน Writerows()แทนWriterow( )

# Step 1: Importing the CSV module
import csv

# Step 2: Creating a Python list of lists
my_list = [["t-shirts", 9.99, 342], ["hoodies", 24.99, 118], ["jeans", 29.99, 612]]

# Step 3: Opening a CSV file in write mode
with open('product_sales.csv', 'w', newline='') as file:
    # Step 4: Using csv.writer to write the list to the CSV file
    writer = csv.writer(file)
    writer.writerows(my_list) # Use writerows for nested list

# Step 5: The file is automatically closed when exiting the 'with' bloc

ในตัวอย่างที่สองนี้ รายการภายในแต่ละรายการจะถูกเขียนเป็นแถวแยกกันในไฟล์

โปรดทราบว่า โมดูล csvช่วยให้คุณไม่ต้องระบุหรือวนซ้ำโครงสร้างข้อมูลและเขียนทีละแถว

ต่อไป เราจะดูวิธีที่คุณสามารถผนวกข้อมูลเข้ากับไฟล์ CSV ที่มีอยู่

วิธีผนวกข้อมูลเข้ากับไฟล์ CSV ที่มีอยู่

วิธีเขียนรายการเป็น CSV ใน Python

ในการเพิ่มข้อมูลลงในไฟล์ CSV ที่มีอยู่ ให้ทำตามขั้นตอนเหล่านี้:

  1. นำเข้าโมดูลcsv

  2. เปิดไฟล์ CSV ในโหมดต่อท้าย ('a') โดยใช้ตัวจัดการบริบท with open()

  3. สร้างรายการใหม่ที่มีข้อมูลที่จะต่อท้าย

  4. สร้าง วัตถุ csv.writer()โดยส่งไฟล์ที่เปิด

  5. ใช้ วัตถุ csv.writer()เพื่อเขียนรายการใหม่ลงในไฟล์ CSV

นี่คือตัวอย่างที่เขียนเพิ่มรายการที่ซ้อนกัน (หนึ่งแถว) ลงในไฟล์ที่มีอยู่:

import csv

new_row = [["leggings", 22.99, 483]]

with open('product_sales.csv', 'a', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(new_row)

ตรวจสอบให้แน่ใจว่าได้ใส่newline=”เมื่อเปิดไฟล์เพื่อให้แน่ใจว่าไฟล์ CSV มีการจัดรูปแบบที่เหมาะสมบนแพลตฟอร์มต่างๆ

ในหัวข้อถัดไป เราจะกล่าวถึงวิธีการใช้ คลาส DictWriterเพื่อเขียนไฟล์ CSV

วิธีใช้ DictWriter เพื่อเขียนไฟล์ CSV

วิธีเขียนรายการเป็น CSV ใน Python

จนถึงตอนนี้ เราได้เรียนรู้วิธีการเขียนรายการไปยังไฟล์ CSV อย่างไรก็ตาม Python มีโครงสร้างข้อมูลอื่นๆ เช่นพจนานุกรมที่สามารถเขียนเป็นไฟล์ CSV ได้

คลาส DictWriter ()ยังเป็นส่วนหนึ่งของโมดูลcsv มันคล้ายกับ คลาส writer()แต่จัดการข้อมูลพจนานุกรม

นี่คือตัวอย่าง:

import csv

product_sales_dict = [
    {"product": "t-shirts", "price": 9.99, "sales": 342},
    {"product": "hoodies", "price": 24.99, "sales": 118},
    {"product": "jeans", "price": 29.99, "sales": 612}
]

fieldnames = ["product", "price", "sales"]

with open("dictionary.csv", "w", newline="") as csvfile:
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()
    writer.writerows(product_sales_dict)

เทคนิค CSV ขั้นสูงใน Python

การใช้ โมดูล csvไม่ใช่วิธีเดียวในการส่งออกรายการ Python เป็นไฟล์ CSV

ไลบรารียอดนิยมสองไลบรารีที่มีฟังก์ชันสำหรับงานนี้ได้แก่PandasและNumPy

1. วิธีส่งออกข้อมูลด้วย Pandas

วิธีเขียนรายการเป็น CSV ใน Python

Pandas เป็นไลบรารี Python ที่ใช้กันอย่างแพร่หลายสำหรับการจัดการและวิเคราะห์ข้อมูล

หากต้องการบันทึกรายการ Python เป็นไฟล์ CSV คุณสามารถสร้าง DataFrame แพนด้าจากรายการแล้วใช้เมธอดto_csv()ดังที่แสดงด้านล่าง:

import pandas as pd
# Example list of lists
data = [['ABC', 1.2, 30], ['XYZ', 0.8, 20], ['LMN', 2.3, 50]]
# Create a DataFrame from the list
data_frame = pd.DataFrame(data, columns=['Name', 'Value', 'Quantity'])
# Save DataFrame to CSV file
data_frame.to_csv('output.csv', index=False, encoding='utf-8')

หากข้อมูลของคุณมีอักขระที่ไม่ใช่ ASCII คุณอาจต้องตั้งค่าพารามิเตอร์การเข้ารหัสเป็นค่าที่เหมาะสม เช่น 'utf-8'

2. วิธีใช้ NumPy เพื่อบันทึกรายการเป็น CSV

ห้องสมุดอื่นที่ควรพิจารณาคือNumPyซึ่งให้การสนับสนุนสำหรับการทำงานกับอาร์เรย์และเมทริกซ์

NumPy มี ฟังก์ชัน np.savetxt()เป็นวิธีการที่สะดวกในการบันทึกข้อมูลลงในไฟล์ CSV

ต่อไปนี้คือตัวอย่างที่แสดงวิธีบันทึกรายการเป็นไฟล์ CSV โดยใช้ NumPy:

import numpy as np
# Example list of lists
data = [['ABC', 1.2, 30], ['XYZ', 0.8, 20], ['LMN', 2.3, 50]]
# Save the list to a CSV file
np.savetxt('output.csv', data, delimiter=',', fmt='%s', header='Name,Value,Quantity', comments='')

นี่คือรายละเอียดของ พารามิเตอร์ savetxt() :

  • ตัวคั่น:ระบุตัวคั่นฟิลด์

  • พารามิเตอร์ fmt:ระบุรูปแบบของข้อมูลที่กำลังบันทึก

  • %s:ตัวยึดตำแหน่งสำหรับค่าสตริง

  • header : รายการของส่วนหัวของคอลัมน์

  • ความคิดเห็น:ควบคุมอักขระที่เริ่มต้นความคิดเห็นในไฟล์ที่ส่งออก

วิธีล้างข้อมูลก่อนเขียนลงไฟล์

เป็นความคิดที่ดีที่จะล้างข้อมูลของคุณก่อนที่จะเขียนลงในไฟล์ข้อความ วิดีโอนี้จะให้เทคนิคที่คุณต้องการ:

ความคิดสุดท้าย

การเขียนรายการลงในไฟล์ CSV ใน Python เป็นวิธีที่ง่ายและมีประสิทธิภาพในการจัดเก็บและแบ่งปันข้อมูล คุณได้เรียนรู้วิธีใช้ โมดูล csv ในตัวของ Python เพื่อทำงานนี้แล้ว

ตอนนี้คุณคุ้นเคยกับการสร้างรายการ Python การนำเข้า โมดูล csvการเปิดไฟล์ CSV และการใช้csv.writerเพื่อเขียนรายการไปยังไฟล์ CSV

คุณยังได้เรียนรู้สถานการณ์ที่ซับซ้อนมากขึ้นในการเขียนรายการลงในไฟล์ CSV ซึ่งช่วยให้คุณจัดเก็บข้อมูลแบบตารางได้

อย่าลืม เช่นเดียวกับทุกสิ่งในการเขียนโปรแกรม การฝึกฝนทำให้สมบูรณ์แบบ ดังนั้น รับความรู้ใหม่นี้ ทดลองกับมัน และดูว่ามันทำงานอย่างไรกับชุดข้อมูลและความต้องการของโครงการต่างๆ

นี่เป็นเพียงส่วนเล็ก ๆ ของ Python iceberg มีอะไรอีกมากมายให้สำรวจในโลกอันกว้างใหญ่ของ Python ดังนั้นอย่าหยุดเพียงแค่นี้ แต่สำหรับวันนี้ ให้ตบหลังตัวเอง คุณได้ฝึกฝนสัตว์ร้ายแห่งการแปลงรายการเป็น CSV สำเร็จแล้ว!

Leave a Comment

คู่มือการดาวน์โหลดและติดตั้ง R และ RStudio

คู่มือการดาวน์โหลดและติดตั้ง R และ RStudio

ค้นพบวิธีที่เราสามารถดาวน์โหลดและติดตั้ง R และ RStudio ซึ่งเป็นทั้งแบบฟรีและแบบโอเพ่นซอร์สสำหรับการเขียนโปรแกรมสถิติและกราฟิก

วิธีลดขนาดไฟล์ Excel – 6 วิธีที่มีประสิทธิภาพ

วิธีลดขนาดไฟล์ Excel – 6 วิธีที่มีประสิทธิภาพ

วิธีลดขนาดไฟล์ Excel – 6 วิธีที่มีประสิทธิภาพ

Power Automate คืออะไร? - สุดยอดคู่มือ

Power Automate คืออะไร? - สุดยอดคู่มือ

Power Automate คืออะไร? - สุดยอดคู่มือที่ช่วยให้คุณเข้าใจและใช้ได้อย่างมีประสิทธิภาพ

วิธีใช้ Power Query ใน Excel: คู่มือฉบับสมบูรณ์

วิธีใช้ Power Query ใน Excel: คู่มือฉบับสมบูรณ์

วิธีใช้ Power Query ใน Excel: คำแนะนำทั้งหมดเพื่อทำให้ข้อมูลของคุณมีประสิทธิภาพมากขึ้น

ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง

ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง

ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง

วิธีบันทึกและโหลดไฟล์ RDS ใน R

วิธีบันทึกและโหลดไฟล์ RDS ใน R

คุณจะได้เรียนรู้วิธีการบันทึกและโหลดวัตถุจากไฟล์ .rds ใน R บล็อกนี้จะครอบคลุมถึงวิธีการนำเข้าวัตถุจาก R ไปยัง LuckyTemplates

เยี่ยมชม N วันทำการแรก – โซลูชันภาษาการเข้ารหัส DAX

เยี่ยมชม N วันทำการแรก – โซลูชันภาษาการเข้ารหัส DAX

ในบทช่วยสอนภาษาการเข้ารหัส DAX นี้ เรียนรู้วิธีใช้ฟังก์ชัน GENERATE และวิธีเปลี่ยนชื่อหน่วยวัดแบบไดนามิก

แสดงข้อมูลเชิงลึกโดยใช้เทคนิคการแสดงภาพแบบไดนามิกแบบหลายเธรดใน LuckyTemplates

แสดงข้อมูลเชิงลึกโดยใช้เทคนิคการแสดงภาพแบบไดนามิกแบบหลายเธรดใน LuckyTemplates

บทช่วยสอนนี้จะครอบคลุมถึงวิธีการใช้เทคนิค Multi Threaded Dynamic Visuals เพื่อสร้างข้อมูลเชิงลึกจากการแสดงข้อมูลแบบไดนามิกในรายงานของคุณ

บทนำในการกรองบริบทใน LuckyTemplates

บทนำในการกรองบริบทใน LuckyTemplates

ในบทความนี้ ฉันจะเรียกใช้ผ่านบริบทตัวกรอง บริบทตัวกรองเป็นหนึ่งในหัวข้อหลักที่ผู้ใช้ LuckyTemplates ควรเรียนรู้ในขั้นต้น

เคล็ดลับที่ดีที่สุดในการใช้แอปใน LuckyTemplates Online Service

เคล็ดลับที่ดีที่สุดในการใช้แอปใน LuckyTemplates Online Service

ฉันต้องการแสดงให้เห็นว่าบริการออนไลน์ของ LuckyTemplates Apps สามารถช่วยในการจัดการรายงานและข้อมูลเชิงลึกต่างๆ ที่สร้างจากแหล่งข้อมูลต่างๆ ได้อย่างไร