Hướng dẫn how do i open a csv file in python without pandas? - làm cách nào để mở tệp csv trong python mà không có gấu trúc?

Bạn rất có thể sẽ cần một thư viện để đọc tệp CSV. Mặc dù bạn có khả năng có thể mở và phân tích dữ liệu, điều này sẽ tẻ nhạt và tốn thời gian. May mắn thay, Python đi kèm với một mô -đun csv tiêu chuẩn mà bạn sẽ không phải cài đặt PIP! Bạn có thể đọc tệp của mình như thế này:will need a library to read a CSV file. While you could potentially open and parse the data yourself, this would be tedious and time consuming. Luckily python comes with a standard csv module that you won't have to pip install! You can read your file in like this:

import csv

with open('file.csv', 'r') as file:
    my_reader = csv.reader(file, delimiter=',')
    for row in my_reader:
        print(row)

Điều này sẽ cho bạn thấy rằng mỗi row đang được đọc trong danh sách. Sau đó, bạn có thể xử lý nó dựa trên chỉ mục! Có nhiều cách khác để đọc trong dữ liệu như được mô tả tại https://docs.python.org/3/l Library/csv.html Một trong số đó sẽ tạo một từ điển thay vì một danh sách!

cập nhật

Bạn đã liên kết github của bạn cho dự án, tôi đã lấy Snip

product_id,product_name,aisle_id,department_id
9327,Garlic Powder,104,13
17461,Air Chilled Organic Boneless Skinless Chicken Breasts,35,12
17668,Unsweetened Chocolate Almond Breeze Almond Milk,91,16
28985,Michigan Organic Kale,83,4
32665,Organic Ezekiel 49 Bread Cinnamon Raisin,112,3
33120,Organic Egg Whites,86,16
45918,Coconut Butter,19,13
46667,Organic Ginger Root,83,4
46842,Plain Pre-Sliced Bagels,93,3

Đã lưu nó dưới dạng file.csv và chạy nó với mã trên tôi đã đăng. Kết quả:

['product_id', 'product_name', 'aisle_id', 'department_id']
['9327', 'Garlic Powder', '104', '13']
['17461', 'Air Chilled Organic Boneless Skinless Chicken Breasts', '35', '12']
['17668', 'Unsweetened Chocolate Almond Breeze Almond Milk', '91', '16']
['28985', 'Michigan Organic Kale', '83', '4']
['32665', 'Organic Ezekiel 49 Bread Cinnamon Raisin', '112', '3']
['33120', 'Organic Egg Whites', '86', '16']
['45918', 'Coconut Butter', '19', '13']
['46667', 'Organic Ginger Root', '83', '4']
['46842', 'Plain Pre-Sliced Bagels', '93', '3']

Điều này làm những gì bạn đã hỏi trong câu hỏi của bạn. Tôi sẽ không làm dự án của bạn cho bạn, bạn sẽ có thể làm việc từ đây.

Cách đọc tệp CSV có hoặc không có gấu trúc

Cập nhật vào ngày: 25 tháng 9 năm 2022 | Viết bởi: Pushpendra Kumar

 1000

Hướng dẫn how do i open a csv file in python without pandas? - làm cách nào để mở tệp csv trong python mà không có gấu trúc?

CSV có nghĩa là các giá trị phân tách bằng dấu phẩy. CSV là một tệp đơn giản được sử dụng để lưu trữ dữ liệu dưới dạng bảng tính hoặc cơ sở dữ liệu. Và chúng ta có thể đọc nó có hoặc không có gấu trúc.

# Import library
import pandas as pd

# Import the Dataset file. Pandas has read_csv method that help to load .csv file
data = pd.read_csv("./Data/iris.csv")

# Let's see first five datapoints
data.head(5)

#Output: You will get the first 5 rows of the Dataset

Cách đọc tệp CSV mà không cần sử dụng thư viện Pandas

Ở đây chúng tôi sẽ sử dụng hàm đầu đọc () để đọc dữ liệu từ tệp.

# Importing the reader from the CSV library
from csv import reader

# Load the CSV file
def load_csv(filename):
    file = open(filename,"r") # Open file in read mode
    lines = reader(file)
    data = list(lines)
    return data

# Path of the dataset
filename = "./Data/iris.csv"
data = load_csv(filename)

# Let's print the first 5 datapoints
data[0:5]

#Output: You will get the first 5 rows of the Dataset.

Hàm Load_CSV vẫn ổn nhưng nó có một số hạn chế. Nó sẽ không xử lý không gian trống trong khi đọc các tệp, chúng tôi có thể giải quyết vấn đề này với sự trợ giúp của một danh sách.

Để xem

# Import reader from CSV library
from csv import reader

# Load the CSV file
def load_csv(filename):
    # List which will store whole data
    data = list()
    with open(filename,'r') as file:
        csv_reader = reader(file)
        for row in csv_reader:
            if not row:
                continue
            data.append(row)
    return data

# Path of the dataset
filename = "./Data/iris.csv"
data = load_csv(filename)

# Let's print the first 5 datapoints
data[0:5]

Cảm ơn 🙌 đã ghé thăm Indeepdata.

Hãy theo dõi và thích chúng tôi:

CSV là viết tắt của giá trị phân tách bằng dấu phẩy. Nó là một loại tệp phổ biến trong thế giới khoa học dữ liệu. Các tệp CSV thường là văn bản Unicode, nhưng không phải lúc nào cũng vậy. Python có thể xử lý các tệp mở và đóng, nhưng một trong các mô -đun để làm việc với các tệp CSV tất nhiên là CSV.

Đối với hướng dẫn này, tôi sẽ trải qua một ví dụ về một cuộc bầu cử sinh viên đại học cho chủ tịch hội sinh viên. Hướng dẫn sẽ đọc từ tệp mà tôi đã tạo trong Excel, class_election.csv.

Tôi sẽ giả định rằng tệp nằm trong cùng thư mục với tệp Python sẽ được tạo.

Vì vậy, để bắt đầu một dự án với mô -đun CSV, trước tiên,

Nhập CSV

Tiếp theo, bạn sẽ muốn đặt một biến thành tên của tệp CSV.

file_to_open = xông class_election.csv,

Bạn cần mở tệp bằng toán tử có điều kiện, với. Bạn sẽ đặt tệp đang mở thành các R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R Hãy chắc chắn đặt một đại tràng ở cuối của tuyên bố. Với toán tử tự động đóng tệp khi các lệnh thụt lề bên dưới đã hoàn tất việc thực thi.

với mở (file_to_open, ‘r,) như this_csv_file:

Vì một số lý do, lệnh này chỉ hoạt động nếu R có trong các trích dẫn đơn.

Sau đó, sau khi thụt lề, bạn đặt một biến khác, this_csv_reader bằng với đối tượng đầu đọc CSV với dấu phân cách dấu phẩy.

this_csv_reader = csv.Reader (this_csv_file, delimiter =,,)

Tiếp theo, để có được hàng đầu tiên với các tiêu đề cột,

Tiêu đề = Next (this_csv_reader) in (tiêu đề)
print(header)

Bạn nên lưu và chạy mã này để đảm bảo rằng bạn có tệp CSV được định dạng đúng trong thư mục phù hợp.

Nếu nó chạy mà không có bất kỳ lỗi nào, bạn sẽ nhận được đầu ra sau,

[student_id, bỏ phiếu]

Sau này bạn sẽ cần nhớ rằng student_id có chỉ số 0 và phiếu bầu có chỉ số là 1.

Một cách để sử dụng mô -đun CSV và đếm từng hàng là với một vòng lặp.

Vòng lặp For sẽ lặp qua các dòng trong đối tượng đầu đọc CSV trước đây được gán cho this_csv_reader này. Trong trường hợp này, vòng lặp lặp qua một biến gọi là dòng. Cũng như các tuyên bố Python khác yêu cầu dòng sau phải được thụt vào, tuyên bố kết thúc bằng một dấu hai chấm.

Đối với dòng trong this_csv_reader này:

Bây giờ, đó là một ý tưởng tốt để tạo ra một số biến và khởi tạo chúng trước câu lệnh với câu lệnh. Bạn cần nhớ rằng các giá trị được rút ra từ tệp CSV là chuỗi văn bản. Vì vậy, để khởi tạo các giá trị như vậy, bạn đặt chúng bằng với phạm vi.

Tôi cũng đã thực hiện ba biến khác nhau để nắm bắt tổng số phiếu bầu. Số lượng phiếu này được đơn giản hóa và mã hóa cứng.

this_student_id = xông hơi này
this_vote=””
jonesvote=0
dravenvote=0
smithvote=0

Bây giờ, được thụt vào trong vòng lặp For, bạn cần đặt cái này_student_id bằng cột đầu tiên với chỉ số 0. mỗi phiếu bầu riêng lẻ, trong trường hợp này Tên cuối cùng của ứng cử viên. Đáng chú ý, số sau biến dòng trong dấu ngoặc vuông đề cập đến số cột chứ không phải số dòng như bạn có thể đoán. Vì vậy, dòng [0] đề cập đến cột đầu tiên chẳng hạn.

this_student_id=line[0]this_vote=line[1]
this_vote=line[1]

Cuối cùng, bạn cần đếm phiếu bầu cho mỗi ứng cử viên. Tôi chỉ sử dụng một loạt các câu lệnh IF cũng được thụt vào dưới vòng lặp.

Nếu this_vote == Smith Smith: SmithVote = SmithVote+1 nếu this_vote ==
smithvote=smithvote+1
if this_vote==”Jones”:
jonesvote=jonesvote+1
if this_vote==”Draven”:
dravenvote=dravenvote+1

Bây giờ tổng số phiếu đã được lập bảng, bạn sẽ in ra kết quả và ai đã giành chiến thắng trong cuộc bầu cử. Bạn không còn cần phải thụt vào. Đáng chú ý, tôi đã biến số phiếu bầu thành chuỗi để in dễ dàng hơn.
Notably, I turned the number of votes into strings for easier printing.

In (DRAVEN
print (“Smith: ” + str(smithvote))
print (“Jones: ” + str(jonesvote))

Sau đó, tôi đã chạy qua một loạt các tuyên bố IF để tìm người chiến thắng.

Nếu Dravenvote> SmithVote và Dravenvote> Jonesvote: In (Hồi Draven thắng! )
print(“Draven Wins!”)
if smithvote>dravenvote and smithvote>jonesvote:
print(“Smith Wins!”)
if jonesvote>dravenvote and jonesvote>smithvote:
print(“Jones Wins!”)

Mã cho hướng dẫn này và tệp CSV mà nó sử dụng có sẵn tại trang GitHub của tôi tại, https://github.com/scottcm73/csv_reading_tutorial.

Người giới thiệu

J. Fincher, Đọc và viết các tệp CSV trong Python. Realpython.com. Lấy từ https://realpython.com/python-csv/  Vào ngày 18 tháng 11 năm 2019.

Làm việc với các tệp CSV trong Python. Geekforgeek.org. Lấy từ https://www.geeksforgeek.org/working-csv-files-python/  Vào ngày 18 tháng 11 năm 2019.

Hãy theo dõi và thích chúng tôi:

Làm cách nào để đọc tệp CSV trong Python mà không có gấu trúc?

# Nhập trình đọc từ Thư viện CSV từ Trình đọc nhập CSV # Tải tệp CSV DEF Load_CSV (Tên tệp): File = Open (FileName, "R") # Mở tệp trong Chế độ đọc ) Trả về dữ liệu # đường dẫn của tập tin dữ liệu FileName = "./data/iris.Importing the reader from the CSV library from csv import reader # Load the CSV file def load_csv(filename): file = open(filename,"r") # Open file in read mode lines = reader(file) data = list(lines) return data # Path of the dataset filename = "./Data/iris.

Làm cách nào để mở tệp CSV 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 cách nào để mở tệp CSV trong Excel bằng Python?

Các bước để chuyển đổi CSV thành Excel bằng Python..
Bước 1: Cài đặt gói Pandas. Nếu bạn chưa làm như vậy, hãy cài đặt gói Pandas. ....
Bước 2: Chụp đường dẫn nơi lưu trữ tệp CSV. ....
Bước 3: Chỉ định đường dẫn nơi tệp Excel mới sẽ được lưu trữ. ....
Bước 4: Chuyển đổi CSV thành Excel bằng Python ..

Tôi có thể sử dụng ứng dụng nào để mở tệp CSV?

10 người xem CSV tốt nhất cho Windows..
Microsoft Excel.Microsoft Excel là một trong những ứng dụng được sử dụng rộng rãi nhất để mở các tệp CSV, đây không phải là ứng dụng nhẹ nhất để xem dữ liệu.....
LibreOffice calc.....
Trình xem nhanh CSV.....
CSV FileView.....
CSVED.....
Người xem CSV.....
CSVPAD.....
CSV Buddy ..