Làm cách nào để đọc tệp csv vào khung dữ liệu trong python?

Đôi khi, bạn có thể cần đọc hoặc nhập nhiều tệp CSV từ một thư mục hoặc từ danh sách tệp và chuyển đổi chúng thành DataFrame của gấu trúc. Bạn có thể làm điều này bằng cách đọc từng tệp CSV vào DataFrame và nối thêm hoặc nối các DataFrame để tạo một DataFrame duy nhất có dữ liệu từ tất cả các tệp

Ở đây, tôi sẽ sử dụng read_csv[] để đọc tệp CSV và hàm concat[] để nối các DataFrame lại với nhau để tạo một DataFrame lớn

1. Đọc nhiều tệp CSV từ danh sách

Khi bạn muốn đọc nhiều tệp CSV tồn tại trong các thư mục khác nhau, trước tiên hãy tạo danh sách các chuỗi có đường dẫn tuyệt đối và sử dụng danh sách đó như được hiển thị bên dưới để tải tất cả các tệp CSV và tạo một Khung dữ liệu gấu trúc lớn


# Read CSV files from List
df = pd.concat[map[pd.read_csv, ['d1.csv', 'd2.csv','d3.csv']]]

Lưu ý rằng theo mặc định, phương thức concat[] thực hiện nghĩa hoạt động nối thêm, nó nối thêm từng DataFrame vào cuối một DataFrame khác và tạo một DataFrame duy nhất. Tương tự với SQL union

2. Đọc nhiều tệp CSV từ một thư mục

Thật không may, read_csv[] không hỗ trợ đọc nhiều tệp CSV từ một thư mục vào DataFrame, có thể trong các phiên bản pandas trong tương lai, nó có thể hỗ trợ nó, cho đến lúc đó chúng tôi phải sử dụng giải pháp thay thế để đọc nhiều tệp CSV từ một thư mục và hợp nhất chúng vào DataFrame


# Import libraries
import glob
import pandas as pd

# Get CSV files list from a folder
path = '/apps/data_csv_files
csv_files = glob.glob[path + "/*.csv"]

# Read each CSV file into DataFrame
# This creates a list of dataframes
df_list = [pd.read_csv[file] for file in csv_files]

# Concatenate all DataFrames
big_df   = pd.concat[df_list, ignore_index=True]

Một cách tiếp cận khác sử dụng hàm map[]


df = pd.concat[map[pd.read_csv, glob.glob[path + "/*.csv"]]]

Trong trường hợp bạn muốn sử dụng các tham số tùy chọn của hàm read_csv[], hãy sử dụng nó bằng cách xác định hàm


# By using function
def readcsv[args]:
    return pd.read_csv[args, header=None]

df = pd.concat[map[readcsv, filepaths]]

3. Sử dụng khung dữ liệu Dask

Dask Dataframes triển khai một tập hợp con của API khung dữ liệu Pandas. Nếu tất cả dữ liệu phù hợp với bộ nhớ, bạn có thể chuyển đổi DataFrame thành Pandas DataFrame

Thư viện Dask có thể được sử dụng để đọc khung dữ liệu từ nhiều tệp. Trước khi bạn sử dụng thư viện Dask, trước tiên bạn cần cài đặt nó bằng lệnh pip hoặc bất kỳ phương pháp nào khác


# Using data library
import dask.dataframe as dd
df = dd.read_csv[path + "/*.csv"]

Phần kết luận

Trong bài viết này, bạn đã học được nhiều cách đọc tệp CSV từ một thư mục và tạo một DataFrame lớn. Vì hàm read_csv[] không hỗ trợ đọc nên bạn phải sử dụng cách tải từng CSV vào một DataFrame riêng biệt và kết hợp chúng bằng hàm concat[]

Đây là một giải pháp thay thế cho thư viện pandas bằng mô-đun csv tích hợp của Python

import csv
from pprint import pprint
with open['foo.csv', 'rb'] as f:
    reader = csv.reader[f]
    headers = reader.next[]
    column = {h:[] for h in headers}
    for row in reader:
        for h, v in zip[headers, row]:
            column[h].append[v]
    pprint[column]    # Pretty printer

sẽ in

{'Date': ['2012-06-11',
          '2012-06-12',
          '2012-06-13',
          '2012-06-14',
          '2012-06-15',
          '2012-06-16',
          '2012-06-17'],
 'factor_1': ['1.255', '1.258', '1.249', '1.253', '1.258', '1.263', '1.264'],
 'factor_2': ['1.548', '1.554', '1.552', '1.556', '1.552', '1.558', '1.572'],
 'price': ['1600.20',
           '1610.02',
           '1618.07',
           '1624.40',
           '1626.15',
           '1626.15',
           '1626.15']}

Tạo khung dữ liệu bằng tệp CSV

Cải thiện bài viết

Lưu bài viết

Thích bài viết

  • Độ khó. Trung bình
  • Cập nhật lần cuối. 17 tháng 2 năm 2022

  • Đọc
  • Bàn luận
  • khóa học
  • Luyện tập
  • Băng hình
  • Cải thiện bài viết

    Lưu bài viết

    Tệp CSV là “các giá trị được phân tách bằng dấu phẩy”, các giá trị này được phân tách bằng dấu phẩy, tệp này có thể được xem như một tệp excel. Trong Python, Pandas là thư viện quan trọng nhất đối với khoa học dữ liệu. Chúng tôi cần xử lý các tập dữ liệu khổng lồ trong khi phân tích dữ liệu, thường có thể nhận được ở định dạng tệp CSV. Có thể tạo khung dữ liệu gấu trúc bằng tệp CSV theo nhiều cách
    Ghi chú. Lấy tệp csv được sử dụng trong các ví dụ dưới đây từ đây
    Phương pháp số 1. Sử dụng phương thức read_csv[]. read_csv[] là một chức năng gấu trúc quan trọng để đọc các tệp csv và thực hiện các thao tác trên đó
    Thí dụ.  
     

    Python3




    ________số 8_______

    # creating a data frame using CSV files

     

    # import pandas module

    import pandas as pd

     

    # creating a data frame

    df= pd.read_csv["CardioGoodFitness.csv"]

    # Python program to illustrate0# Python program to illustrate1

    đầu ra
     

    Phương pháp #2. Sử dụng phương thức read_table[]. read_table[] là một chức năng gấu trúc quan trọng khác để đọc các tệp csv và tạo khung dữ liệu từ nó
    Thí dụ.  
     

    Python3




    ________số 8_______

    # creating a data frame using CSV files

     

    # import pandas module

    import pandas as pd

     

    # creating a data frame

    df= # creating a data frame using CSV files0=# creating a data frame using CSV files2

    # Python program to illustrate0# Python program to illustrate1

    đầu ra
     

    Phương pháp #3. Sử dụng mô-đun csv. Người ta có thể nhập trực tiếp các tệp csv bằng mô-đun csv và sau đó tạo khung dữ liệu bằng tệp csv đó
    Thí dụ.  
     

    Python3




    ________số 8_______

    # creating a data frame using CSV files

     

    # import pandas module

    import pandas as pd

    # import pandas module0

    import # import pandas module2

     

    # import pandas module3# import pandas module4# import pandas module5

    # import pandas module6_______10_______7

    # import pandas module6_______10_______9= import1

     

    # import pandas module6_______11_______3

    # import pandas module6_______14_______= import7= import9pandas as pd0

     

    pandas as pd1

    pandas as pd2 pandas as pd3pandas as pd4 pandas as pd5_______12_______6pandas as pd7pandas as pd8

    # import pandas module6_______8_______0# creating a data frame1

    đầu ra.  
     

    ['TM195', '18', 'Male', '14', 'Single', '3', '4', '29562', '112']

     


    Ghi chú cá nhân của tôi arrow_drop_up

    Tiết kiệm

    Vui lòng Đăng nhập để nhận xét.

    Tệp csv có thể được chuyển đổi thành DataFrame Python không?

    Hàm pandas read_csv[] nhập tệp CSV sang định dạng DataFrame . tiêu đề. điều này cho phép bạn chỉ định hàng nào sẽ được sử dụng làm tên cột cho khung dữ liệu của bạn. Dự kiến ​​một giá trị int hoặc danh sách các giá trị int. Giá trị mặc định là header=0 , có nghĩa là hàng đầu tiên của tệp CSV sẽ được coi là tên cột.

    Chúng tôi có thể nhập tệp CSV trong khung dữ liệu không?

    Sử dụng hàm read_csv[] từ gói pandas, bạn có thể nhập dữ liệu dạng bảng từ tệp CSV vào khung dữ liệu pandas bằng cách chỉ định giá trị tham số cho tên tệp [e. g. pd. read_csv["tên tệp. csv"] ]. Hãy nhớ rằng bạn đã đặt bí danh cho gấu trúc [ pd ], vì vậy bạn sẽ sử dụng pd để gọi các hàm của gấu trúc.

    Chủ Đề