Cách buộc Excel mở tệp CSV với dữ liệu được sắp xếp theo cột


32

Tôi tạo tệp CSV có phần mở rộng .csv trong đó mọi phần dữ liệu trong một dòng được phân tách bằng dấu phẩy:

1,2,3,4
1,2,3,4

Tập tin được gửi qua email và tôi muốn rằng khi khách hàng mở nó, cô ấy sẽ thấy dữ liệu được sắp xếp thành các cột.

Là điều như vậy có thể?

PS: Tôi có thể tự do thay đổi đồng hồ đo.


1
Theo tôi, bạn không thể làm gì ngoài việc nhập dữ liệu vào Excel, vì Excel không thể đưa ra bất kỳ giả định nào về cấu trúc của chính dữ liệu (ví dụ: dấu phân cách được sử dụng, định dạng số thập phân hoặc định dạng chung Dữ liệu).
slhck

@slhck vui lòng xem câu trả lời
Timofey

Ồ, tôi không biết rằng Excel có khả năng làm điều này. Đẹp một.
slhck

1
Chỉ cần nhấp đúp vào tệp CSV, Excel sẽ được mở và tệp sẽ được hiển thị chính xác. Tôi có đúng không?
wilson

@wilson: Excel phải được liên kết để mở tệp .csv sau đó bằng cách nhấp đúp vào tệp excs .csv sẽ được khởi chạy
Timofey

Câu trả lời:


9

Sử dụng tab thay vì dấu phẩy. Và nếu điều đó không hiệu quả, hãy cung cấp cho tệp được phân định bằng tab của bạn một phần mở rộng xls.


cảm ơn về giải pháp, tôi đã rời khỏi .csv dưới dạng phần mở rộng tệp
Timofey

không hoạt động cho excel 14.7.1 trên mac (2017)
masukomi

3
"PS: Tôi có thể tự do thay đổi đồng hồ đo." làm cho câu trả lời này ít có giá trị hơn
Paul Fijma

Điều này sẽ không trả lời cách tải tệp CSV, vì C là viết tắt của dấu phẩy.
JBernardo

@JBernardo Nó đã làm, một lần, nhưng hôm nay bạn sẽ tìm thấy các tệp có phần mở rộng csv trong tự nhiên với tất cả các loại dấu phân cách: tab, pipe, dấu phẩy, dấu gạch ngang, @, \ 0, v.v ... Đúng hay sai, chúng ở ngoài đó và một phần của câu hỏi "Tôi có thể thay đổi dấu phân cách" làm cho câu trả lời này hợp lệ.
Joel Coehoorn

43

nếu chỉ để có csv thể đọc được ở mọi hệ thống, thì có một mẹo không có giấy tờ: trong dòng đầu tiên viết SEP=;. Dòng này cho EXCEL biết ký tự nào được sử dụng làm dấu phân cách (thực tế bạn có thể sử dụng bất kỳ ký tự (đơn) nào ( ;,|@#'...))

LƯU Ý: dòng này chỉ là một phần của csvtệp. Nó sẽ không trở thành một phần của lây lan trong EXCEL. điều đó có nghĩa là, nó sẽ không được hiển thị và nó sẽ không được viết, bất kể bạn định nghĩa định dạng nào để viết hoặc xuất.


Đây là một cứu tinh! Làm việc tuyệt vời ở đây!
Etienne Dupuis

Giải pháp tốt nhất IMHO, vì nó sẽ hoạt động với tất cả các ngôn ngữ
mBardos

39

Hành vi của Excel khi mở tệp CSV phụ thuộc nhiều vào cài đặt cục bộ của bạn và được sử dụng list separatorbên dưới Region and language » Formats » Advanced. Theo mặc định, Excel sẽ cho rằng mọi CSV đã được lưu với dấu phân cách đó. Điều này đúng miễn là CSV không đến từ quốc gia khác!

Nếu khách hàng của bạn ở các quốc gia khác, họ có thể thấy kết quả khác thì bạn nghĩ.

Ví dụ: ở đây bạn thấy rằng một Excel Đức sẽ sử dụng dấu chấm phẩy thay vì dấu phẩy như ở Hoa Kỳ nhập mô tả hình ảnh ở đây

Để làm bạn bối rối hơn nữa, cài đặt đó can thiệp vào biểu tượng thập phân có thể được thiết lập riêng biệt bên dưới Excel Options » Advanced » Use system separatorshoặc thông qua cài đặt khu vực như được hiển thị ở trên. Excel không thể sử dụng cùng một biểu tượng như dấu thập phân và dấu phân cách danh sách. Nó sẽ tự động sử dụng dấu phẩy hoặc dấu chấm phẩy làm dấu phân tách dự phòng. Đọc thêm

Tôi sẽ lấy ví dụ của bạn để tạo 3 tập tin. Mỗi cái có một dấu phân tách khác nhau và mở nó bằng Excel.

    COMMA               SEMICOLON                     TAB 

nhập mô tả hình ảnh ở đâynhập mô tả hình ảnh ở đâynhập mô tả hình ảnh ở đây

Không giống như Excel của bạn không? Tôi cũng nghĩ vậy

Vì vậy, hãy cho phép thay đổi thủ công tiện ích mở rộng từ cùng một tệp CSV thành XLS và xem điều gì xảy ra ngay bây giờ. Đầu tiên, Excel sẽ đưa ra cảnh báo rằng phần mở rộng tệp không khớp với nội dung và Excel cố gắng đoán những gì bên trong.

    COMMA        SEMICOLON                   TAB 

nhập mô tả hình ảnh ở đâynhập mô tả hình ảnh ở đâynhập mô tả hình ảnh ở đây

Kết luận: TAB + đổi tên + bỏ qua cảnh báo = Thắng trên mọi hệ thống?
Có thể, nhưng tôi sẽ không chắc chắn cho khách hàng bên ngoài đất nước của bạn.

Phương pháp tốt nhất là hướng dẫn khách hàng của bạn trước tiên mở một Excel trống, sau đó đi đến Data » Get data from textvà chọn thủ công dấu phẩy làm dấu phân cách


2
Câu trả lời này là tuyệt vời nhưng tôi thấy điều này thảm hại từ Microsoft. Bạn mở một csv bằng Numbers và nó sẽ mở một cách chính xác. Bạn mở nó trong các trang tính của Google và nó sẽ mở một cách chính xác. Sau đó, bạn mở nó trong Excel, đây là người duy nhất bạn trả tiền và ... Không có gì. Còn những người trong chúng ta chưa bao giờ thiết lập một dấu tách danh sách thì sao? Bây giờ tôi cần lãng phí thời gian để cố gắng làm cho nó hoạt động vì "dấu phẩy" không có nghĩa gì trong "csv" này. Rất bực bội.
Chạm vào

> Giải pháp này hiệu quả với tôi (excel 2013). Tôi điều chỉnh định dạng khu vực của mình: Tôi đặt dấu chấm (.) Là "dấu tách thập phân", dấu phẩy (,) là "dấu phân cách nghìn" và dấu phẩy (,) là "dấu tách danh sách" - Caesargastonec ngày 13 tháng 7, 15 lúc 16:00 05
Alex78191

Hoặc bạn có thể thay đổi dấu phân cách thập phân trong tùy chọn Excel superuser.com/a/1470373
Alex78191

1

Bạn có thể thay thế ".csv" bằng ".txt", khởi động Excel và mở tệp .txt đó. Sau đó, Excel sẽ hiển thị cho bạn một trợ lý nơi bạn có thể chỉ định sử dụng "," làm người tách biệt. Sau đó, khi bạn lưu tệp này dưới dạng .csv, lần sau Excel sẽ mở tệp theo cách bạn cần.


0

Một giải pháp khác mà tôi đã sử dụng trong tình huống này là xuất ra tệp HTML cơ bản, thay vì CSV. Excel có thể mở cái này mà không gặp lỗi. Nó cũng có thể đọc ít nhất một số định dạng trong tệp.


0

Đây là câu trả lời ngu ngốc nhất, nhưng nó đã làm việc. Tôi sử dụng tệp CSV hàng ngày. Tôi tạo chúng mọi lúc và xem với excel. Hôm nay, sau 12 năm không bao giờ thấy vấn đề này, nó đã xảy ra với tôi. Nó sẽ không mở tệp csv và định dạng các cột. Ngay cả một số tệp csv tôi đã tạo tối qua với excel, sẽ mở thành một cột trên mỗi dòng.

Giải pháp: Kiểm tra trình quản lý tác vụ cho tất cả các phiên bản mở của Excel.exe. Giết tất cả các trường hợp và thử mở lại tệp csv.

khuôn mặt


0

Trong ngắn hạn, nếu bạn chỉ cần mở tệp CSV đã được gửi cho bạn từ một quốc gia khác -

Mở tệp trong wordpad và sử dụng find và thay thế để thay đổi mọi dấu phân cách mà quốc gia phát hành đã sử dụng (ví dụ :;) và thay thế bằng dấu phẩy. (ví dụ ,).

Chỉ cần kiểm tra quốc gia phát hành không sử dụng dấu phẩy thay cho ký hiệu khác (ví dụ: ở Tây Ban Nha, họ sử dụng dấu phẩy nơi chúng tôi sử dụng dấu thập phân để bạn phải tìm và thay thế dấu phẩy thành vị trí thập phân sau đó tìm và thay thế biểu tượng khác với dấu phẩy).

Không phải là một giải pháp lâu dài nhưng đủ tốt để làm cho tập tin có thể đọc được nếu bạn đang vội và không thể truy cập bảng điều khiển tại nơi làm việc.


0

Tôi đã đi qua cùng một vấn đề. Tôi đã có tệp CSV mà Excel đã phân tích cú pháp sai và cần Trình hướng dẫn nhập.

Cách khắc phục đơn giản là đổi tên CSV thành TXT và Trình hướng dẫn đã đưa ra giúp nhận dạng cấu trúc cột đúng cách.


0

Câu trả lời liên quan đến vấn đề này - đặc biệt là đối với các sự cố MacOS / OSX với dấu phẩy nhận dạng Excel:
trong Excel 2019 không mở CSV chính xác - không phân tích cú pháp cột: /superuser//a/1506042/1116939

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.