Hướng dẫn how to get the first column of a csv file in python - cách lấy cột đầu tiên của tệp csv trong python

Làm thế nào để đọc cột đầu tiên của mỗi hàng của tệp CSV trong Python?

Dữ liệu của tôi là một cái gì đó như thế này:

1 abc    
2 bcd    
3 cde

Và tôi chỉ cần lặp lại máng các giá trị của cột đầu tiên.

Ngoài ra, khi tôi mở tệp CSV trong calc, dữ liệu trong mỗi hàng là tất cả trong cùng một ô, điều đó có bình thường không?

Khi được hỏi ngày 29 tháng 5 năm 2015 lúc 7:44May 29, 2015 at 7:44

Hướng dẫn how to get the first column of a csv file in python - cách lấy cột đầu tiên của tệp csv trong python

4

import csv
with open(file) as f:
    reader = csv.reader(f, delimiter="\t")
    for i in reader:
        print i[0]

HOẶC

Thay đổi dấu phân cách vào không gian nếu cần thiết.

reader = csv.reader(f, delimiter=" ")

không có mô -đun CSV,

import csv
with open(file) as f:
    for line in f:
        print line.split()[0]

Đã trả lời ngày 29 tháng 5 năm 2015 lúc 7:47May 29, 2015 at 7:47

Hướng dẫn how to get the first column of a csv file in python - cách lấy cột đầu tiên của tệp csv trong python

Avinash Rajavinash RajAvinash Raj

169K25 Huy hiệu vàng216 Huy hiệu bạc263 Huy hiệu Đồng25 gold badges216 silver badges263 bronze badges

Bạn có thể sử dụng

import csv
with open(file) as f:
    reader = csv.reader(f, delimiter="\t")
    for i in reader:
        print i[0]
0 để crate một trình tạo chứa các cột và sử dụng
import csv
with open(file) as f:
    reader = csv.reader(f, delimiter="\t")
    for i in reader:
        print i[0]
1 để có được cột đầu tiên. Hiệu quả hơn nếu bạn có dữ liệu lớn và bạn muốn từ chối lập chỉ mục nhiều thời gian!

import csv
from itertools import izip
with open('ex.csv', 'rb') as csvfile:
     spamreader = csv.reader(csvfile, delimiter=' ')
     print next(izip(*spamreader))

Đã trả lời ngày 29 tháng 5 năm 2015 lúc 7:50May 29, 2015 at 7:50

Hướng dẫn how to get the first column of a csv file in python - cách lấy cột đầu tiên của tệp csv trong python

MazdakmazdakMazdak

103K18 Huy hiệu vàng158 Huy hiệu bạc183 Huy hiệu đồng18 gold badges158 silver badges183 bronze badges

Để chỉ nhận được cột đầu tiên làm danh sách:

with open('myFile.csv') as f:
    firstColumn = [line.split(',')[0] for line in f]

Đã trả lời ngày 29 tháng 5 năm 2015 lúc 7:51May 29, 2015 at 7:51

Leekaiintheskyleekaiintheskyleekaiinthesky

5.2834 Huy hiệu vàng28 Huy hiệu bạc38 Huy hiệu đồng4 gold badges28 silver badges38 bronze badges

2

Đối với phần thứ hai của câu hỏi của bạn:

Khi mở CSV-DOCUMENT trong LibreOffice calc (OpenOffice sẽ hoạt động theo cùng một cách), tôi nhận được một hộp thoại trong đó tôi được hỏi một vài điều về tài liệu đó, như mã hóa Charakter và cũng như loại phân tách. Nếu bạn chọn "không gian", nó sẽ hoạt động. Bạn có một bản xem trước ở dưới cùng của hộp thoại này.

Đã trả lời ngày 29 tháng 5 năm 2015 lúc 7:51May 29, 2015 at 7:51

Leekaiintheskyleekaiintheskyyoook

5.2834 Huy hiệu vàng28 Huy hiệu bạc38 Huy hiệu đồng1 bronze badge

Trong hướng dẫn Python này, bạn sẽ học cách chỉ nhập cột đầu tiên của tệp CSV.import only the first column of a CSV file.

Mục lục:

Tại đây, quá trình từng bước:

Ví dụ Dữ liệu & Thư viện bổ trợ

Trước tiên chúng tôi phải nhập thư viện Pandas, để sử dụng các chức năng có trong thư viện:

import pandas as pd                       # Import pandas library

Chúng tôi cũng phải tạo một số dữ liệu mà chúng tôi có thể sử dụng trong cú pháp ví dụ bên dưới:

data = pd.DataFrame({'x1':range(1, 9),    # Create pandas DataFrame
                     'x2':[7, 3, 1, 5, 3, 3, 9, 8],
                     'x3':[5, 2, 5, 1, 4, 1, 4, 7],
                     'x4':['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']})
print(data)                               # Print pandas DataFrame

Hướng dẫn how to get the first column of a csv file in python - cách lấy cột đầu tiên của tệp csv trong python

Có một cái nhìn vào bảng trước. Nó cho thấy dữ liệu ví dụ của chúng tôi bao gồm tám hàng và bốn cột.

Hãy để xuất khẩu các dữ liệu này vào tệp CSV:

data.to_csv('data.csv')                   # Export pandas DataFrame

Tại thời điểm này, bạn sẽ tìm thấy một tệp CSV mới trong thư mục làm việc hiện tại trên máy tính của bạn. Chúng tôi sẽ sử dụng tệp CSV này cho ví dụ dưới đây.

Tiếp tục đi!

Ví dụ: Chỉ đọc cột đầu tiên từ tệp CSV

Cú pháp sau đây cho thấy cách tạo một bản dữ liệu gấu trúc mới từ tệp CSV chỉ chứa cột đầu tiên của tệp này.

Để đạt được điều này, chúng ta phải đặt đối số Usecols trong hàm read_csv bằng [1].

Hãy xem xét mã Python dưới đây:

data_import = pd.read_csv('data.csv',     # Read first pandas DataFrame column
                           usecols = [1])
print(data_import)                        # Print imported pandas DataFrame

Hướng dẫn how to get the first column of a csv file in python - cách lấy cột đầu tiên của tệp csv trong python

Trong Bảng 2, bạn có thể thấy rằng chúng tôi đã tạo ra một DataFrame mới chỉ chứa cột đầu tiên của tệp CSV của chúng tôi với mã trước đó.

Video & tài nguyên hơn nữa

Trong trường hợp bạn cần thêm thông tin về mã Python của bài đăng này, bạn có thể muốn xem video sau trên kênh YouTube của tôi. Trong video, tôi minh họa mã lập trình Python của hướng dẫn này trong Python.

Video YouTube sẽ sớm được thêm vào.

Hơn nữa, bạn có thể xem xét một số bài viết liên quan trên trang chủ của tôi. Một lựa chọn các bài báo được liệt kê ở đây.

  • Khóa học cơ bản cho Thư viện Pandas ở Python
  • Chỉ đọc một số cột nhất định của tệp CSV dưới dạng pandas dataframe
  • Đọc tệp CSV dưới dạng Pandas DataFrame trong Python
  • Thay đổi loại dữ liệu của cột DataFrame trong Python trong Python
  • Thả hàng đầu tiên & cuối cùng từ Pandas DataFrame trong Python
  • Đếm các giá trị duy nhất trong cột của Pandas DataFrame trong Python
  • Sắp xếp gấu trúc DataFrame theo cột trong Python
  • Nhận tên cột của Pandas DataFrame làm danh sách trong Python
  • Ví dụ lập trình Python

Tóm tắt: Trong hướng dẫn này, bạn đã học được cách chỉ đọc cột đầu tiên của tệp CSV dưới dạng dữ liệu gấu trúc mới trong Python. Don Tiết ngần ngại cho tôi biết trong phần bình luận, trong trường hợp bạn có thêm nhận xét hoặc câu hỏi.read only the first column of a CSV file as a new pandas DataFrame in Python. Don’t hesitate to let me know in the comments section, in case you have additional comments or questions.