Định dạng tệp csv trong python

CSV là định dạng tệp bạn sẽ thường xuyên gặp khi làm việc trong lĩnh vực Khoa học dữ liệu. Nó là một loại tệp văn bản lưu trữ dữ liệu dạng bảng để dễ đọc hơn, dễ hiểu hơn và xử lý nhanh hơn. Tệp CSV có thể được chuyển đổi từ tệp JSON hoặc được tạo bằng Python hoặc Java. Trong bài viết này, tôi sẽ giới thiệu cho bạn những kiến ​​thức cơ bản về tệp CSV và hướng dẫn bạn các cách khác nhau để đọc và ghi tệp CSV bằng Python. Chúng tôi đang tập trung vào Python vì nó có thư viện csv tích hợp giúp dễ dàng đọc dữ liệu từ tệp CSV và ghi vào chúng. Các hướng dẫn Python từng bước trong bài viết này chắc chắn sẽ đơn giản và dễ làm theo ngay cả đối với người mới bắt đầu

Bài viết này đã được xuất bản như một phần của Data Science Blogathon

Nguồn. diegomariano. com

Mục lục

  1. CSV là gì?
  2. Làm cách nào để đọc tệp CSV bằng Python?
  3. Làm cách nào để ghi vào Python CSV?

CSV là gì?

CSV là viết tắt của “Các giá trị được phân tách bằng dấu phẩy. ” Đây là hình thức đơn giản nhất để lưu trữ dữ liệu ở dạng bảng dưới dạng văn bản thuần túy. Điều quan trọng là phải biết làm việc với CSV vì chúng tôi chủ yếu dựa vào dữ liệu CSV trong cuộc sống hàng ngày với tư cách là nhà khoa học dữ liệu

Cấu trúc của CSV

Chúng tôi có một tệp có tên “Salary_Data. csv. ” Dòng đầu tiên của tệp CSV là tiêu đề. Nó chứa tên của các trường/tính năng được hiển thị ở trên cùng dưới dạng tên cột trong tệp

Sau tiêu đề, mỗi dòng của tệp là một quan sát/bản ghi. Các giá trị của một bản ghi được phân tách bằng dấu phẩy. ”

Làm cách nào để đọc tệp CSV bằng Python?

Có nhiều cách khác nhau để đọc dữ liệu trong tệp CSV, bây giờ chúng ta sẽ xem từng cách một

2. 1 Sử dụng csv. người đọc

Bạn có thể đọc tệp CSV bằng csv. đối tượng reader từ mô-đun csv của Python

Các bước để đọc tệp CSV bằng trình đọc csv

1. Nhập thư viện csv

import csv

2. Mở tệp CSV

Các. Phương thức open[] trong python được sử dụng để mở tệp và trả về một đối tượng tệp

file = open['Salary_Data.csv']

type[file]

Loại tệp là “_io. TextIOWrapper” là đối tượng tệp được trả về bởi phương thức open[]

3. Sử dụng tệp csv. đối tượng reader để đọc tệp CSV

csvreader = csv. người đọc [tập tin]

4. Trích xuất tên trường

Tạo một danh sách trống gọi là tiêu đề. Sử dụng phương thức next[] để lấy tiêu đề

Các. Phương thức next[] trả về hàng hiện tại và di chuyển đến hàng tiếp theo

Lần đầu tiên bạn chạy next[], nó sẽ trả về tiêu đề và lần chạy tiếp theo, nó sẽ trả về bản ghi đầu tiên, v.v.

header = []
header = next[csvreader]
header

5. Trích xuất các hàng/bản ghi. Tạo một danh sách trống có tên là rows và lặp qua đối tượng csvreader và nối từng hàng vào danh sách rows.
rows = []
for row in csvreader:
        rows.append[row]
rows

6. Đóng tệp

Phương thức close[] dùng để đóng file đã mở. Khi nó bị đóng, chúng tôi không thể thực hiện bất kỳ thao tác nào trên nó

file.close[]

Hoàn thành mã

Mã Python

Đương nhiên, chúng ta có thể quên đóng một tệp đang mở. Để tránh điều đó, chúng ta có thể sử dụng câu lệnh with[] để tự động giải phóng tài nguyên. Nói một cách đơn giản, không cần phải gọi. phương thức close[] nếu chúng ta đang sử dụng câu lệnh with[]

Triển khai đoạn mã trên bằng cách sử dụng câu lệnh with[]

cú pháp. với open[filename, mode] là alias_filename

chế độ

'r' - để đọc một tệp hiện có,
'w' - để tạo một tệp mới nếu tệp đã cho không tồn tại và ghi vào tệp đó,
'a' - để thêm vào nội dung tệp hiện có,
‘+’ –  để tạo một tệp mới để đọc và ghi

import csv
rows = []
with open["Salary_Data.csv", 'r] as file:
    csvreader = csv.reader[file]
    header = next[csvreader]
    for row in csvreader:
        rows.append[row]
print[header]
print[rows]

2. 2 Sử dụng. đường đọc []

Bây giờ câu hỏi là – “Có thể tìm nạp tiêu đề, các hàng chỉ bằng các câu lệnh open[] và with[] mà không cần thư viện csv không?”

phương thức readlines[] là câu trả lời. Nó trả về tất cả các dòng trong một tệp dưới dạng danh sách. Mỗi mục của danh sách là một hàng trong tệp CSV của chúng tôi

Hàng đầu tiên của tệp. readlines[] là tiêu đề và phần còn lại là các bản ghi

with open['Salary_Data.csv'] as file:
    content = file.readlines[]
header = content[:1]
rows = content[1:]
print[header]
print[rows]

** Có thể xóa 'n' khỏi đầu ra bằng cách sử dụng. phương thức dải []

Điều gì sẽ xảy ra nếu chúng ta có một tập dữ liệu khổng lồ với hàng trăm tính năng và hàng nghìn bản ghi?

Đây là thư viện gấu trúc vào hình ảnh

2. 3 Sử dụng gấu trúc

Hãy xem cách gấu trúc được sử dụng để đọc dữ liệu trong tệp CSV

1. Nhập thư viện gấu trúc

import pandas as pd

2. Tải tệp CSV vào pandas bằng read_csv[]

Cú pháp cơ bản. gấu trúc. read_csv[tên tệp, dấu phân cách=’,’]

________số 8_______

3. Trích xuất tên trường

các cột được sử dụng để lấy tên tiêu đề/trường

data.columns

4. Trích xuất các hàng

Tất cả dữ liệu của khung dữ liệu có thể được truy cập bằng tên trường

file = open['Salary_Data.csv']

type[file]
0

2. 4 Sử dụng csv. DictReader

Dict là một bảng băm các khóa và giá trị được cấu trúc bằng Python. Phương thức dict[] được sử dụng để tạo một đối tượng từ điển từ một tập hợp được chỉ định hoặc các lần lặp khóa và giá trị. mô-đun csv. DictReader được sử dụng để đọc tệp CSV. Đây là cách bạn có thể làm điều đó

1. Nhập mô-đun csv

import csv

2. Mở tệp CSV bằng cách sử dụng. open[] với chế độ là 'r' để đọc

file = open['Salary_Data.csv']

type[file]
2

3. Tạo đối tượng DictReader bằng csv. Phương thức DictReader[]

Lưu ý rằng hàng đầu tiên của tệp CSV phải chứa tên trường

file = open['Salary_Data.csv']

type[file]
3

4. Sử dụng tệp csv. Đối tượng DictReader để đọc tệp CSV

Lặp lại qua các hàng của tệp CSV bằng cách sử dụng vòng lặp 'for' và đối tượng DictReader để xem tên trường dưới dạng khóa cùng với các giá trị tương ứng của chúng

file = open['Salary_Data.csv']

type[file]
4

Làm cách nào để ghi vào Python CSV?

Chúng tôi có thể ghi vào tệp CSV theo nhiều cách

3. 1 Sử dụng csv. nhà văn

tệp csv. hàm writer[] trả về một đối tượng nhà văn chuyển đổi dữ liệu đầu vào thành một chuỗi được phân tách
Ví dụ: giả sử chúng tôi đang ghi dữ liệu 3 Học sinh [Tên, Điểm M1, Điểm M2]

file = open['Salary_Data.csv']

type[file]
5

Bây giờ, hãy xem cách dữ liệu này có thể được ghi vào tệp CSV bằng csv. nhà văn

1. Nhập thư viện csv

import csv

2. Xác định tên tệp và Mở tệp bằng open[]

3. Tạo đối tượng csvwriter bằng csv. nhà văn[]

4. Viết tiêu đề

5. Viết phần còn lại của dữ liệu

mã cho các bước 2-5

file = open['Salary_Data.csv']

type[file]
7

Dưới đây là giao diện của tệp CSV của chúng tôi

3. 2 Sử dụng. dòng viết []

writelines[] lặp qua từng danh sách, chuyển đổi các phần tử danh sách thành một chuỗi, sau đó ghi nó vào tệp csv

file = open['Salary_Data.csv']

type[file]
8

3. 3. Sử dụng gấu trúc

Làm theo các bước sau để ghi vào tệp CSV bằng pandas

1. Nhập thư viện gấu trúc

import pandas as pd

2. Tạo một khung dữ liệu gấu trúc bằng cách sử dụng pd. Khung dữ liệu

cú pháp. pd. DataFrame[dữ liệu, cột]

Tham số dữ liệu lấy bản ghi/quan sát và tham số cột lấy tên cột/trường

header = []
header = next[csvreader]
header
0

3. Ghi vào tệp CSV bằng to_csv[]

cú pháp. Khung dữ liệu. to_csv[tên tệp, sep=’,’, index=False]

**dấu phân cách là ',' theo mặc định

index=False để xóa các số chỉ mục

header = []
header = next[csvreader]
header
1

Dưới đây là giao diện của CSV của chúng tôi

3. 4 Sử dụng csv. DictWriter

Bạn có thể ghi dữ liệu vào tệp CSV bằng mô-đun csv. DictReader theo các bước dưới đây

1. Nhập mô-đun csv

import csv

2. Sử dụng. open[], tạo một đối tượng tệp mới với chế độ là 'w' để ghi

Tạo một đối tượng tệp mới bằng cách sử dụng hàm

header = []
header = next[csvreader]
header
8, chỉ định tên tệp với chế độ là 'w' để ghi

header = []
header = next[csvreader]
header
3

3. Nhập dữ liệu bạn muốn ghi vào tệp CSV dưới dạng danh sách từ điển

header = []
header = next[csvreader]
header
4

4. Tạo một tệp csv. Đối tượng DictWriter chỉ định đối tượng tệp, tham số tên trường và dấu phân cách

Lưu ý rằng dấu phân cách theo mặc định là ','

header = []
header = next[csvreader]
header
5

5. Viết hàng tiêu đề bằng phương thức writeheader[]

header = []
header = next[csvreader]
header
6

6. Bây giờ hãy sử dụng phương thức writerows[] để ghi dữ liệu vào tệp CSV

header = []
header = next[csvreader]
header
7

Điều này sẽ tạo một tệp mới có tên 'Students_Data. csv’ với Tên, Điểm M1 và Điểm M2 làm tên đầu trang/cột và các giá trị dữ liệu trong biến dữ liệu

Phần kết luận

Đến bây giờ, tôi chắc rằng tất cả các bạn đã quen thuộc với các cách xử lý tệp CSV khác nhau trong Python. Tôi hy vọng bài viết này là thông tin cho tất cả. Hãy chia sẻ nó với bạn bè học tập của bạn

Chìa khóa rút ra

  • Tạo tệp Giá trị được phân tách bằng dấu phẩy [CSV] là cách đơn giản nhất để chuyển đổi dữ liệu phức tạp thành tệp văn bản có thể đọc được
  • Tệp có định dạng CSV hiển thị cho bạn dữ liệu dạng bảng được sắp xếp tương tự như trang tính excel
  • Bạn có thể đọc tệp CSV bằng Python bằng csv. người đọc,. đường đọc [] hoặc csv. DictReader và viết thành một bằng cách sử dụng. nhà văn,. DictWriter, hoặc. dòng viết []
  • Pandas có thể được sử dụng cho cả việc đọc và ghi dữ liệu trong CSV

Các câu hỏi thường gặp

Q1. Làm cách nào để ghi dữ liệu vào tệp CSV bằng Python?

A. Bạn có thể ghi dữ liệu vào tệp CSV bằng Python bằng cách sử dụng gấu trúc hoặc mô-đun csv, chẳng hạn như. nhà văn và. DictWriter, hoặc bởi. phương thức writelines[]

quý 2. Làm cách nào để đọc tệp CSV dưới dạng văn bản trong Python?

A. Có nhiều cách để đọc tệp CSV dưới dạng văn bản thuần túy trong Python bao gồm cả việc sử dụng csv. người đọc,. readlines[], pandas hoặc csv. DictReader

Q3. Bạn có thể đọc và ghi vào tệp CSV cùng lúc bằng Python không?

A. Mặc dù bạn có thể mở tệp CSV ở cả chế độ đọc và ghi trong cùng một chương trình nhưng bạn không thể thực hiện đồng thời cả hai

Người giới thiệu

Kiểm tra mã hoàn chỉnh từ repo GitHub

Vui lòng xem các bài đăng trên blog khác của tôi từ Hồ sơ Vidhya Analytics của tôi

Bạn có thể tìm thấy tôi trên LinkedIn, Twitter trong trường hợp bạn muốn kết nối. Tôi sẽ rất vui khi được kết nối với bạn

Để trao đổi suy nghĩ ngay lập tức, xin vui lòng viết thư cho tôi tại

Phương tiện hiển thị trong bài viết này không thuộc sở hữu của Analytics Vidhya và được sử dụng theo quyết định của Tác giả

Làm cách nào để định dạng tệp CSV bằng Python?

Để ghi vào tệp CSV bằng Python, chúng ta có thể sử dụng csv. hàm write[] . tệp csv. hàm writer[] trả về một đối tượng nhà văn chuyển đổi dữ liệu của người dùng thành một chuỗi được phân tách.

Định dạng chính xác cho tệp CSV là gì?

CSV hoặc Giá trị được phân tách bằng dấu phẩy , là định dạng tệp phẳng cực kỳ phổ biến sử dụng dấu phẩy làm dấu phân cách giữa các giá trị. Bất kỳ ai quen thuộc với các chương trình bảng tính đều có thể đã từng gặp các tệp CSV - chúng dễ dàng được Google Spreadsheet, Microsoft Excel và vô số ứng dụng khác sử dụng.

Python có thể chỉnh sửa tệp CSV không?

Mô-đun CSV trong Python cho phép bạn đọc, viết và thao tác với bất kỳ dữ liệu nào được lưu trữ trong tệp CSV . Để đọc tệp CSV, bạn cần sử dụng phương thức “trình đọc” từ mô-đun “csv” của Python có trong thư viện chuẩn của Python.

Có thể. Tệp CSV được lưu với định dạng?

Chọn LƯU AS và chọn định dạng CSV . Đóng Excel hoàn toàn. Mở lại Excel [chỉ chương trình, không phải bảng tính bạn vừa lưu] trên một bảng tính trống.

Chủ Đề