Hướng dẫn python read csv split by comma - python đọc csv chia tách bằng dấu phẩy

Tôi có tệp .csv với các giá trị cột chứa một số dấu phẩy. Dưới đây là những ví dụ:

Header: ID     Value           Content                                            Date
        1      34             "market, business"                               12/20/2013
        2      15             "market, business", yesterday, metric            11/21/2014
        3      18             "market," business and yesterday                 10/20/2014
        4      19              yesterday, today,                               11/22/2014

Đây là định dạng của tệp .csv mà nếu tôi mở trong văn bản siêu phàm, nó sẽ xuất hiện ở định dạng:

1, 34, "market, business", 12/20/2013
2, 15, "market, business", "yesterday, metric, 11/21/2014
3, 18, "market," business and yesterday, 10/20/2014
4, 19, yesterday, today, 11/22/2014

Nhưng điều tôi muốn là sau chương trình đọc Python CSV là:

[1, 34, "market, business", 12/20/2013]
[2, 15, "market, business" "yesterday metric, 11/21/2014]
[3, 18, "market," business and yesterday, 10/20/2014]
[4, 19, yesterday today, 11/22/2014]

Đây chỉ là dữ liệu mẫu mà tôi có, cột "Nội dung" là vấn đề đau đầu ở đây gây ra mô -đun CSV sử dụng "," Như dấu phân cách, tôi đã sử dụng

reader = csv.reader(f, skipinitialspace=True)

Nó hoạt động cho hàng đầu tiên nếu tất cả các chuỗi nằm trong một trích dẫn kép. Nhưng nó không áp dụng cho hàng thứ ba và thứ hai nếu có dấu phẩy bên ngoài trích dẫn (đơn hoặc đôi)

Làm thế nào tôi có thể giải quyết vấn đề? Bây giờ tôi chỉ đang sử dụng mô -đun CSV truyền thống trong Python, "Panda" có khả năng giải quyết vấn đề không?

Thanks.

Tôi đã thực hiện một số cập nhật, tôi nghĩ những gì tôi muốn là, phương pháp chỉ định dấu phẩy ở những nơi khác nhau ... Bây giờ tôi dán ở đây có vẻ không hợp lý vì không có cách nào tôi có thể tìm thấy bên trong mô -đun CSV để nói sự khác biệt từ dấu cách phân tách "," và " , "Bên trong một cánh đồng. Ngay cả Excel cũng không thể ...

Bất kỳ ý tưởng?

Tệp CSV (Giá trị phân tách bằng dấu phẩy) là một tệp có các giá trị được phân tách bởi dấu phẩy. Nó thường được sử dụng để nhập và xuất với cơ sở dữ liệu và bảng tính.

Các giá trị chủ yếu được phân tách bởi dấu phẩy. Đôi khi một nhân vật khác được sử dụng giống như dấu chấm phẩy, ký tự tách biệt được gọi là dấu phân cách.

Khóa học liên quan: Phân tích dữ liệu với gấu trúc và Python Data Analysis with Pandas and Python

Làm cách nào để đọc một tệp CSV phân tách bằng dấu phẩy trong Python?

Đọc một tệp CSV bằng Python.

Sử dụng thư viện CSV. Nhập CSV với Open ("./ Bwq.csv", 'r') dưới dạng tệp: csvreader = csv.reader (tệp) cho hàng trong csvreader: in (hàng) ở đây chúng tôi đang nhập thư viện CSV để sử dụng. ....

Sử dụng thư viện Pandas. Nhập gấu trúc dưới dạng dữ liệu PD = pd.Read_CSV ("BWQ.CSV") dữ liệu ..

Làm thế nào để bạn đọc các giá trị phân tách bằng dấu phẩy trong Python?

Các bước để đọc tệp CSV:.

Nhập thư viện CSV. Nhập CSV ..

Mở tệp CSV. Phương thức .Open () trong Python được sử dụng để mở các tệp và trả về một đối tượng tệp. ....

Sử dụng đối tượng CSV.Reader để đọc tệp CSV. csvreader = csv.Reader (tệp).

Trích xuất tên trường. ....Trích xuất các hàng/hồ sơ. ....Đóng tệp ..
Làm cách nào để đọc tệp CSV bằng Delimiter?20 Dưới đây là các bước bạn nên làm theo:.
Mở CSV của bạn bằng trình soạn thảo văn bản. Windows: Notepad (notepad.exe) ....25 Bỏ qua một dòng ở phía trên và thêm SEP =; Nếu bộ phân cách được sử dụng trong CSV là dấu chấm phẩy (;) hoặc SEP =, nếu dấu phân cách là dấu phẩy (,) ..
Lưu và mở lại tệp ..30 Làm thế nào để bạn chia một tệp CSV trong Python?

Bạn có thể chia CSV trên hệ thống tập tin cục bộ của mình bằng lệnh shell ..

Nó không thể được chạy trên các tệp được lưu trữ trong hệ thống tập tin đám mây như S3 ..

Chris,20,3600
Harry,25,3200
Barry,30,3000

Nó bị hỏng nếu có các dòng mới trong hàng CSV (có thể cho dữ liệu được trích dẫn).

Đọc CSV

Trong Python, có hai cách phổ biến để đọc các tệp CSV:

  • Đọc CSV với mô -đun CSVcsv module
  • Đọc CSV với mô -đun Pandas (xem dưới cùng)pandas module (see bottom)

Mô -đun Python CSV

Python đi kèm với một mô -đun để phân tích các tệp CSV, mô -đun

[1, 34, "market, business", 12/20/2013]
[2, 15, "market, business" "yesterday metric, 11/21/2014]
[3, 18, "market," business and yesterday, 10/20/2014]
[4, 19, yesterday today, 11/22/2014]
7. Bạn có thể sử dụng mô -đun này để đọc và ghi dữ liệu mà không cần phải thực hiện các hoạt động chuỗi và tương tự.

Đọc tệp CSV

Hãy tìm hiểu cách đọc tệp CSV. Bạn có thể sử dụng mô -đun CSV. Mô -đun đã được cài đặt, chỉ cần nhập nó với

[1, 34, "market, business", 12/20/2013]
[2, 15, "market, business" "yesterday metric, 11/21/2014]
[3, 18, "market," business and yesterday, 10/20/2014]
[4, 19, yesterday today, 11/22/2014]
8.how to read a csv file. You can use the csv module. The module is already installed, just import it with
[1, 34, "market, business", 12/20/2013]
[2, 15, "market, business" "yesterday metric, 11/21/2014]
[3, 18, "market," business and yesterday, 10/20/2014]
[4, 19, yesterday today, 11/22/2014]
8.

Sau đó, bạn sẽ muốn mở tệp CSV, bạn có thể với:

with open('office.csv') as csvfile:

Sau đó tạo một đối tượng đầu đọc

[1, 34, "market, business", 12/20/2013]
[2, 15, "market, business" "yesterday metric, 11/21/2014]
[3, 18, "market," business and yesterday, 10/20/2014]
[4, 19, yesterday today, 11/22/2014]
9 trong đó các tham số là tên tệp và dấu phân cách.

Điều này nghe có vẻ khó, nhưng nó đơn giản như:

csvReader = csv.reader(csvfile, delimiter=',')

Sau đó, bạn có thể lặp qua các hàng và phân tích chúng hoặc hiển thị chúng.

import csv

with open('office.csv') as csvfile:
csvReader = csv.reader(csvfile, delimiter=',')
for row in csvReader:
print(row)

Khi bạn chạy chương trình, nó sẽ hiển thị cho bạn từng hàng dưới dạng danh sách

➜  ~ python3 program.py
['Chris', '20', '3600']
['Harry', '25', '3200']
['Barry', '30', '3000']

Bởi vì nó là một danh sách, bạn có thể truy cập các ô bằng dấu ngoặc vuông. Ô đầu tiên là

reader = csv.reader(f, skipinitialspace=True)
0, ô thứ hai
reader = csv.reader(f, skipinitialspace=True)
1 vvetera.
The first cell is
reader = csv.reader(f, skipinitialspace=True)
0, the second cell
reader = csv.reader(f, skipinitialspace=True)
1 etcetera.

for row in csvReader:
print(row[0])
print(row[1])

Đọc một CSV như một dict

Nếu bạn muốn đọc dữ liệu vào từ điển thay vì danh sách, bạn có thể làm điều đó. Mô -đun CSV đi kèm với

reader = csv.reader(f, skipinitialspace=True)
2. Điều này cho phép bạn đọc một tệp CSV dưới dạng từ điển.
The csv module comes with a
reader = csv.reader(f, skipinitialspace=True)
2. This lets you read a csv file as dictionary.

Nếu bạn muốn đọc nó như một từ điển, hãy đảm bảo bao gồm một tiêu đề vì điều đó sẽ được bao gồm trong ánh xạ giá trị khóa.include a header because that will be included in the key-value mapping.

1, 34, "market, business", 12/20/2013
2, 15, "market, business", "yesterday, metric, 11/21/2014
3, 18, "market," business and yesterday, 10/20/2014
4, 19, yesterday, today, 11/22/2014
0

Sau đó, chương trình của bạn có thể đọc CSV với

reader = csv.reader(f, skipinitialspace=True)
3

1, 34, "market, business", 12/20/2013
2, 15, "market, business", "yesterday, metric, 11/21/2014
3, 18, "market," business and yesterday, 10/20/2014
4, 19, yesterday, today, 11/22/2014
1

Chương trình sau đó xuất ra từ điển:

1, 34, "market, business", 12/20/2013
2, 15, "market, business", "yesterday, metric, 11/21/2014
3, 18, "market," business and yesterday, 10/20/2014
4, 19, yesterday, today, 11/22/2014
2

Một hàm

reader = csv.reader(f, skipinitialspace=True)
4 chính xác giống như bình thường
reader = csv.reader(f, skipinitialspace=True)
5.

Khóa học liên quan: Phân tích dữ liệu với gấu trúc và Python Data Analysis with Pandas and Python

Chức năng mô -đun CSV

Mô -đun

[1, 34, "market, business", 12/20/2013]
[2, 15, "market, business" "yesterday metric, 11/21/2014]
[3, 18, "market," business and yesterday, 10/20/2014]
[4, 19, yesterday today, 11/22/2014]
7 đi kèm với nhiều chức năng khác nhau:

  • csv.field_size_limit - trả về kích thước trường tối đa
  • csv.get_dialect - Nhận phương ngữ được liên kết với tên
  • CSV.List_Dialects - Hiển thị tất cả các phương ngữ đã đăng ký
  • CSV.Reader - Đọc dữ liệu từ tệp CSV – read data from a csv file
  • CSV.Register_Dialect - Phương ngữ liên kết với tên
  • CSV.Writer - Viết dữ liệu vào tệp CSV
  • csv.unregister_dialect - xóa phương ngữ được liên kết với tên đăng ký phương ngữ
  • csv.quote_all - Trích dẫn mọi thứ, bất kể loại.
  • csv.quote_minimal - các trường trích dẫn với các ký tự đặc biệt
  • csv.quote_nonnumeric - trích dẫn tất cả các trường có giá trị số aren
  • csv.quote_none - don lồng trích dẫn bất cứ điều gì trong đầu ra

Bài viết này chỉ tập trung vào

reader = csv.reader(f, skipinitialspace=True)
7, cho phép bạn đọc một tệp.

Đọc CSV với gấu trúc

Hướng dẫn python read csv split by comma - python đọc csv chia tách bằng dấu phẩy

Pandas là một thư viện phân tích dữ liệu. Nó thường được sử dụng trong khoa học dữ liệu. Nếu bạn làm việc với dữ liệu rất nhiều, sử dụng mô -đun

reader = csv.reader(f, skipinitialspace=True)
8 sẽ tốt hơn. is a data analysis library. It often used in data science. If you work with data a lot, using the
reader = csv.reader(f, skipinitialspace=True)
8 module is way better.

Đầu tiên chúng tôi bắt đầu với một số dữ liệu. Giả sử bạn có tệp CSV chứa thống kê quốc gia,

reader = csv.reader(f, skipinitialspace=True)
9:

Quốc gia, Thủ đô, Ngôn ngữ, Quốc gia Tiền tệ, Washington, Tiếng Anh, US Bolarcanada, Ottawa, Tiếng Anh và Pháp, Dollargermany của Canada, Berlin, Đức, Euro
United States, Washington, English, US dollar
Canada, Ottawa, English and French, Canadian dollar
Germany, Berlin, German, Euro

Theo mặc định, mô -đun

reader = csv.reader(f, skipinitialspace=True)
8 không được cài đặt. Bạn có thể cài đặt nó với Python Gói Manager Pip. Sau khi cài đặt, tải nó như thế này:

1, 34, "market, business", 12/20/2013
2, 15, "market, business", "yesterday, metric, 11/21/2014
3, 18, "market," business and yesterday, 10/20/2014
4, 19, yesterday, today, 11/22/2014
3

Pandas có chức năng Đọc các tệp CSV,

Chris,20,3600
Harry,25,3200
Barry,30,3000
1.

Điều này tải tệp CSV vào khung dữ liệu gấu trúc.

1, 34, "market, business", 12/20/2013
2, 15, "market, business", "yesterday, metric, 11/21/2014
3, 18, "market," business and yesterday, 10/20/2014
4, 19, yesterday, today, 11/22/2014
4

Pandas làm việc với DataFrames chứa tất cả dữ liệu. Khung dữ liệu là cấu trúc dữ liệu thực sự thú vị, chúng cho phép bạn lấy toàn bộ hàng cùng một lúc, bằng cách sử dụng tên tiêu đề của nó. (Tiêu đề là dòng đầu tiên trong tệp CSV)Data frames are really cool data structures, they let you grab an entire row at once, by using it’s header name. (The header was the first line in the csv file)

1, 34, "market, business", 12/20/2013
2, 15, "market, business", "yesterday, metric, 11/21/2014
3, 18, "market," business and yesterday, 10/20/2014
4, 19, yesterday, today, 11/22/2014
5

Thí dụ

Chương trình dưới đây đọc một tệp CSV với gấu trúc .:reads a csv file with pandas.:

1, 34, "market, business", 12/20/2013
2, 15, "market, business", "yesterday, metric, 11/21/2014
3, 18, "market," business and yesterday, 10/20/2014
4, 19, yesterday, today, 11/22/2014
6

Điều này xuất ra cả dataFrame

Chris,20,3600
Harry,25,3200
Barry,30,3000
2 và một hàng
Chris,20,3600
Harry,25,3200
Barry,30,3000
3

1, 34, "market, business", 12/20/2013
2, 15, "market, business", "yesterday, metric, 11/21/2014
3, 18, "market," business and yesterday, 10/20/2014
4, 19, yesterday, today, 11/22/2014
7

Bạn có thể lặp lại hàng từng hàng như thế này:

1, 34, "market, business", 12/20/2013
2, 15, "market, business", "yesterday, metric, 11/21/2014
3, 18, "market," business and yesterday, 10/20/2014
4, 19, yesterday, today, 11/22/2014
8

Phân định

Nếu bạn có một dấu phân cách khác so với dấu phẩy mặc định, hãy nói một đường ống thì bạn sử dụng tham số

Chris,20,3600
Harry,25,3200
Barry,30,3000
4.

1, 34, "market, business", 12/20/2013
2, 15, "market, business", "yesterday, metric, 11/21/2014
3, 18, "market," business and yesterday, 10/20/2014
4, 19, yesterday, today, 11/22/2014
9

Nếu tệp CSV của bạn không bao gồm tiêu đề, bạn có thể xóa nó khỏi tệp hoặc thay đổi chương trình để có tham số

Chris,20,3600
Harry,25,3200
Barry,30,3000
5.

[1, 34, "market, business", 12/20/2013]
[2, 15, "market, business" "yesterday metric, 11/21/2014]
[3, 18, "market," business and yesterday, 10/20/2014]
[4, 19, yesterday today, 11/22/2014]
0

Nếu nó trên một dòng khác (giả sử dòng thứ 2) bạn có thể sử dụng:

[1, 34, "market, business", 12/20/2013]
[2, 15, "market, business" "yesterday metric, 11/21/2014]
[3, 18, "market," business and yesterday, 10/20/2014]
[4, 19, yesterday today, 11/22/2014]
1

Tên gấu trúc

Nếu dữ liệu CSV của bạn không có tiêu đề, đừng lo lắng. Bạn có thể xác định các cột trong mã trong khi mở tệp:

[1, 34, "market, business", 12/20/2013]
[2, 15, "market, business" "yesterday metric, 11/21/2014]
[3, 18, "market," business and yesterday, 10/20/2014]
[4, 19, yesterday today, 11/22/2014]
2

gấu trúc sử dụng_cols

Nếu bạn chỉ muốn tải các cột cụ thể, bạn có thể chỉ định tham số ________ 46. Điều này rất hữu ích nếu bạn có một CSV lớn với nhiều cột. Bạn có thể xác định một quặng nhiều cột hơn:
This is useful if you have a large csv with a lot of columns. You can define one ore more columns:

[1, 34, "market, business", 12/20/2013]
[2, 15, "market, business" "yesterday metric, 11/21/2014]
[3, 18, "market," business and yesterday, 10/20/2014]
[4, 19, yesterday today, 11/22/2014]
3

Khóa học liên quan: Phân tích dữ liệu với gấu trúc và Python Data Analysis with Pandas and Python

Làm cách nào để đọc một tệp CSV phân tách bằng dấu phẩy trong Python?

Đọc một tệp CSV bằng Python..
Sử dụng thư viện CSV. Nhập CSV với Open ("./ Bwq.csv", 'r') dưới dạng tệp: csvreader = csv.reader (tệp) cho hàng trong csvreader: in (hàng) ở đây chúng tôi đang nhập thư viện CSV để sử dụng. ....
Sử dụng thư viện Pandas. Nhập gấu trúc dưới dạng dữ liệu PD = pd.Read_CSV ("BWQ.CSV") dữ liệu ..

Làm thế nào để bạn đọc các giá trị phân tách bằng dấu phẩy trong Python?

Các bước để đọc tệp CSV:..
Nhập thư viện CSV.Nhập CSV ..
Mở tệp CSV.Phương thức .Open () trong Python được sử dụng để mở các tệp và trả về một đối tượng tệp.....
Sử dụng đối tượng CSV.Reader để đọc tệp CSV.csvreader = csv.Reader (tệp).
Trích xuất tên trường.....
Trích xuất các hàng/hồ sơ.....
Đóng tệp ..

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

Dưới đây là các bước bạn nên làm theo:..
Mở CSV của bạn bằng trình soạn thảo văn bản.Windows: Notepad (notepad.exe) ....
Bỏ qua một dòng ở phía trên và thêm SEP =;Nếu bộ phân cách được sử dụng trong CSV là dấu chấm phẩy (;) hoặc SEP =, nếu dấu phân cách là dấu phẩy (,) ..
Lưu và mở lại tệp ..

Làm thế nào để bạn chia một tệp CSV trong Python?

Bạn có thể chia CSV trên hệ thống tập tin cục bộ của mình bằng lệnh shell ...
Nó không thể được chạy trên các tệp được lưu trữ trong hệ thống tập tin đám mây như S3 ..
Nó bị hỏng nếu có các dòng mới trong hàng CSV (có thể cho dữ liệu được trích dẫn).
Không xử lý hàng tiêu đề ..