cuốn sách gpt4 ai đã làm

Mở tệp csv bằng Python: buildins.AttributionError AttributionError: đối tượng '_io.BytesIO' không có thuộc tính 'file'

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 15:14:12 28 4
mua khóa gpt4 Nike

Ngoài câu hỏi trước đây của tôi về cách mở tệp csv bằng Python, tôi vẫn chưa thực hiện thành công việc này và đang gặp hết lỗi này đến lỗi khác.

Mã Python của tôi như sau:

@app.route("/admin", Method=["GET", "POST"])
@login_required
quản trị viên chắc chắn():
"""Cấu hình màn hình quản trị"""
# nếu người dùng đến được tuyến đường qua POST (bằng cách gửi biểu mẫu qua POST)
nếu request.method == "POST":

# tải tệp csv với dữ liệu danh mục đầu tư
csvfile = TextIOWrapper(request.files['portfolios'].file, Encoding=request.encoding)
danh mục đầu tư = csv.DictReader(csvfile)

# tải file csv vào từ điển
cho hàng trong danh mục đầu tư:
print(row['first_name'], row['last_name'])
khác:
trả về render_template("admin.html")

Mã bình/html của tôi như sau:

{% mở rộng "layout.html" %}

`{% tiêu đề khối %}
Quản trị viên
{% endblock %}

{% khối chính %}

Bảng điều khiển dành cho quản trị viên


Tải lên dữ liệu danh mục đầu tư

dữ liệu>



Tải lên danh sách bảo mật







{% endblock %}

Ban đầu, tôi đã làm theo ví dụ trong tài liệu Python: nhập csv open('names.csv') dưới dạng tệp csv: reader = csv.DictReader(csvfile) cho các dòng trong reader: print(line['names' ], row ['Họ'])

Điều này không hoạt động vì nó gây ra lỗi loại (xem bài viết trước đó của tôi)

Sau đó tôi đã xóa "mở" như đề xuất, dẫn đến một lỗi khác. Sau đó, tôi đã xóa toàn bộ khối with, điều này lại gây ra lỗi. Bây giờ, đoạn mã trên là những gì tôi có và nó tạo ra lỗi sau:

nội trang.AttributionErrorAttributionError: Đối tượng '_io.BytesIO' không có thuộc tính 'tệp'

Có ai có thể giúp tôi chấm dứt cơn ác mộng nhập csv không? gửi!!

câu trả lời hay nhất

io.TextIOWrapper chấp nhận được io.BytesIO sự vật.

Bạn (gần như) đã vượt qua nó, chỉ là bạn đang thêm một .tài liệu (Tại sao??), không phải vậy io.BytesIO trường > lớp(request.files['portfolios'] Đã là một io.BytesIO sự vật)

Chỉ cần làm điều này:

csvfile = TextIOWrapper(request.files['portfolios'], Encoding=request.encoding)

Giới thiệu về python - Mở tệp csv trong Python: buildins.AttributionError AttributionError: đối tượng '_io.BytesIO' không có thuộc tính 'file', chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/44005053/

28 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress