Excel hủy ký tự đặc biệt khi được lưu dưới dạng CSV


21

Tôi đang làm việc trên một dự án sử dụng tệp CSV do khách hàng cung cấp để điền vào cơ sở dữ liệu. Ứng dụng khách là tạo bảng tính, sau đó lưu nó dưới dạng CSV sẽ được tải lên, sau đó được phân tích cú pháp vào cơ sở dữ liệu.

Vấn đề là, bất cứ khi nào khách hàng lưu bảng tính excel dưới dạng tệp .csv của MS-DOS, nhiều ký tự đặc biệt sẽ được chuyển đổi thành dấu hỏi "?" (các ký hiệu như '"/). Tuy nhiên, nếu sau đó chúng tôi mở tệp CSV và thay thế thủ công từng tệp bằng ký tự bên phải thì nó hoạt động tốt.

Vấn đề là tệp dữ liệu rất LỚN và chúng tôi không thể làm điều này một cách hợp lý, vì vậy tôi đã hy vọng có một cách để lưu nó. Chúng tôi đã cố gắng xuất dưới dạng Unicode và ASCII nhưng không có kết quả. Chúng tôi cũng đã thử tải lên tài liệu google và lưu lại, tuy nhiên, nó cũng phá vỡ các ký tự đó.


2
Nếu bạn đang ở trên excel 2007, trong hộp thoại Lưu dưới dạng tệp chỉ còn lại nút lưu, công cụ thả xuống. Nếu bạn chọn weboption và trên tab Mã hóa, bạn có thể chọn mã hóa cụ thể. Hãy thử nếu đó là bất kỳ trợ giúp

Một ví dụ của văn bản đó là gì?
thúc vào

1
Vấn đề là không thể tái sản xuất. Đảm bảo rằng dữ liệu thực sự là những gì bạn mô tả và không phải là một số ký tự không thể được trình bày trong mã hóa MS-DOS.
Jukka K. Korpela

Câu trả lời:


11

Đảm bảo bạn chọn lưu dưới dạng CSV (Comma Delimited)chứ không phải a CSV (MS-DOS), vì DOS không hỗ trợ các ký tự UTF-8.


6

Tôi đã thấy rằng vấn đề ký tự bị mất chỉ xảy ra (trong trường hợp của tôi) khi lưu từ định dạng xlsx sang định dạng csv. Tôi đã thử lưu tệp xlsx vào xls trước, sau đó đến csv. Nó thực sự đã làm việc.


Điều này không làm việc cho tôi. Tôi vẫn nhận được? trong tệp csv
thanos.a

4

Một cách giải quyết khác có thể là lưu nó dưới dạng Unicode Text(năm 2007 có nó, không chắc chắn về các phiên bản trước), nó lưu nó dưới dạng tệp văn bản được phân tách bằng tab.

Tệp này bảo tồn các ký tự unicode của tôi (trong trường hợp của tôi, tôi đang làm việc với các ký tự châu Á ) trong khi tạo một số loại tệp văn bản được phân tách mà sau đó bạn có thể chạy qua các công cụ bên ngoài để chuyển đổi sang csv nếu cần.

Tuy nhiên, đầu vào của tôi không có các tab được nhúng trong mỗi ô và tôi không chắc chắn cách xử lý.


3

Đây là những gì làm việc cho tôi:

  1. Chỉnh sửa dữ liệu trong Excel hoặc CSV
  2. Lưu tệp dưới dạng văn bản Unicode
  3. Mở thông báo
  4. Mở tệp Unicode bạn vừa lưu bằng cách sử dụng NOTEPAD
  5. Sử dụng con trỏ của bạn để tô sáng một vùng trống chứa một tab 5a. Sử dụng khoảng trắng giữa Id thu nhận và Loại yêu cầu vì điều này chứa MỘT TAB!
  6. Nhấn Cnrl-C để sao chép ký tự tab
  7. Gõ Cnlr-H để mở hộp chức năng Thay thế
  8. Nhấp vào hộp văn bản Tìm gì và nhập Cnlr-V để dán Tab
  9. Nhấp vào hộp Thay thế bằng Văn bản và nhập dấu phẩy
  10. Nhấp vào Thay thế để kiểm tra một lần. Xác nhận tab trong tệp được thay thế bằng dấu phẩy
  11. Nhấp vào Thay thế tất cả
  12. Nhấp vào Hủy bỏ
  13. Lưu file và thoát
  14. Trong Windows Explorer, thay đổi phần mở rộng tệp thành .csv

1
Điều này làm việc cho tôi, sử dụng Notepad ++.
ChrisB

Vâng, tôi đã phải xuất dưới dạng Unicode và cũng tìm và thay thế các tab thành dấu phẩy.
Nilloc

2

Tôi đã gặp vấn đề này được một thời gian và cuối cùng đã dành một chút thời gian để tìm ra nó! Tôi đã có thể (dường như) khắc phục sự cố bằng cách lưu dưới dạng "Windows Comma Tách (.csv)". Tôi đã thử nó từ .xlsx và .xls, cả hai đều được chuyển đổi thành .csv. Hy vọng điều này sẽ giúp - cho tôi biết nếu có bất kỳ vấn đề nào xuất hiện với phương pháp này. Tôi sẽ báo cáo lại nếu tôi thấy bất cứ điều gì trong vài tuần tới.


1
Chào mừng đến với Siêu người dùng. Vui mừng khi thấy bạn nhảy ngay vào để trả lời câu hỏi.
CharlieRB

1

Dung dịch:

  1. Mở tệp CSV của bạn trong Notepad (bạn sẽ thấy nó có chữ ANSI), sau đó lưu lại dưới dạng UTF-8 trong Notepad.

  2. Sau đó, nhập khẩu nên làm việc. Tuy nhiên, nếu bạn mở lại nó trong Excel và chỉ lưu nó sẽ không hoạt động vì rõ ràng Excel không thể mã hóa bằng UTF-8.

  3. Tùy chọn khác là làm việc với tệp CSV của bạn trong www.LibreOffice.org (miễn phí), có thể mã hóa chính xác trong UTF-8 (mặc dù tôi chưa thử điều này).

Tôi gặp phải một vấn đề tương tự với việc nhập một csv sản phẩm có phân số vào WooC Commerce, bị từ chối vì "?" ký tự lỗi. Điều này là do tệp CSV không được mã hóa trong UTF-8. TUY NHIÊN, ngay cả sau khi lưu tệp CSV trong Excel bằng mã hóa UTF-8, nó vẫn không hoạt động.

Sau khi xem qua nhiều diễn đàn, có vẻ như mặc dù Excel cung cấp tùy chọn mã hóa dưới dạng UTF-8 - khi TIẾT KIỆM NHƯ CSV, Excel sẽ tự động chuyển đổi lại thành ANSI, mặc dù bạn chọn UTF-8.



0

Ngay cả tôi cũng gặp phải vấn đề với các ký tự đặc biệt trong khi tải xuống các thuật ngữ tiếng Nhật ở định dạng .csv. Tuy nhiên, khi tôi lưu tệp .csv ở định dạng Văn bản (được phân cách bằng tab) các ký tự tiếng Nhật nơi cư trú hoàn hảo. Sau đó tôi chỉ sao chép dữ liệu từ tệp văn bản và dán vào bảng tính. Làm việc tốt!!!

Cảm ơn, Vaishakh


Điều này không cung cấp một câu trả lời cho câu hỏi. Để phê bình hoặc yêu cầu làm rõ từ một tác giả, hãy để lại nhận xét bên dưới bài đăng của họ - bạn luôn có thể nhận xét về bài đăng của riêng bạn và khi bạn có đủ danh tiếng, bạn sẽ có thể nhận xét về bất kỳ bài đăng nào .
Ramhound

0

Tìm thấy giải pháp tốt nhất từ ​​trước đến nay: http://woshka.com/blog/microsoft/microsoft-excel/solve-the-probols-saving-excel-csv-format-with-utf-8-unicode-encoding.html

Từ liên kết:

1-Nhấp vào menu bắt đầu

2-Chọn bảng điều khiển

3-Tìm tùy chọn Vùng và Ngôn ngữ ở chế độ cổ điển hoặc nhập tên của nó trên thanh tìm kiếm ở phía trên bên phải của cửa sổ bảng điều khiển

4-Nhấp vào tab nâng cao và nhấp vào địa phương

5-Nhấp vào tiếng Ba Tư hoặc tiếng Ả Rập hoặc chương trình mã hóa UTF-08 mong muốn của bạn mà bạn muốn lưu với Excel vào CSV


woshka.com không còn là một URL hợp lệ, hiện tại nó là một tên miền chưa sử dụng.
Craig London

0

cho ™ tôi đã tìm thấy một giải pháp. Trong tệp .xlsx, thay thế tất cả "™" bằng "& tr-ade;". loại bỏ - từ thay thế bằng. Lưu tệp dưới dạng .csv và tất cả đã xong. chúc nó làm việc cho bạn


0

Trên máy tính Mac, đây là những gì làm việc cho tôi.

Trên excel chọn lưu dưới dạng và sau đó từ trình đơn thả xuống, chọn các cửa sổ được phân tách bằng dấu phẩy (CSV).

Nó chỉ hoạt động !!!


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.