Ketika saya membuka file CSV dalam Angka, "membantu" mengkonversi bidang yang dikenali sebagai angka dengan menghapus angka nol di depan, mengonversi hal-hal yang dikenali sebagai tanggal, dll.
Ambil contoh, Anda mengetik kode UPC ke dalam spreadsheet Numbers 005566778899 , Numbers akan secara otomatis mengonversinya menjadi 5566778899 . Ini bukan yang saya inginkan ...
Namun, cara saya menggunakan Bilangan, saya membuka database dengan ribuan kode UPC dengan nol sebelumnya. Beberapa dari mereka juga berisi tanggal yang Angka juga akan format ulang. Pada dasarnya saya tidak ingin semua fitur ini, saya ingin konten saya dibiarkan sendiri.
Bagaimana saya bisa mendapatkan Angka agar data saya tetap utuh ketika saya membuka file CSV?
Mengubah bidang menjadi teks setelah mengimpor tidak akan membantu karena data sudah kacau dengan ...
macos
mac
numbers
autocorrect
henryaaron
sumber
sumber
Jawaban:
Jika bidang dalam file CSV dimulai dengan tanda kutip (
'
), Excel dan Angka akan memperlakukan bidang sebagai teks, dan tidak merendernya dengan pemformatan numerik apa pun.File CSV Anda tampaknya mencoba memaksa rendering teks melalui melampirkan bidang angka dalam tanda kutip ganda, tetapi Numbers dan Excel tampaknya tidak mengambil petunjuk bahwa angka penawaran ganda harus diperlakukan sebagai string. Triknya tampaknya untuk memodifikasi file CSV sehingga mereka menggunakan trik "dimulai dengan tanda tunggal" daripada trik "terkandung dalam tanda kutip ganda" untuk bidang numerik, tetapi simpan tanda kutip ganda untuk bidang teks yang melibatkan tanda baca (termasuk koma, tanda kutip, jeda baris, dll).
Untuk memproses file CSV Anda sehingga mereka melakukan ini, Anda dapat membuat aplikasi Automator.
Di Automator, buat Aplikasi baru.
Ini akan memiliki satu tindakan: Jalankan Script Shell (melewati input sebagai argumen). Ini skripnya:
Simpan aplikasi yang dihasilkan di Desktop Anda. Jatuhkan semua file CSV yang ingin Anda gunakan dalam Angka pada ikon aplikasi, dan itu akan dikonversi sehingga Angka harus menyimpan angka dalam bidang sebagai angka literal, dan tidak memformatnya atau membuang informasi.
Cadangkan data Anda sebelum mencoba ini; Ada kemungkinan bahwa string yang dibangun secara aneh di bidang rekaman dapat membuang hasil di sini.
sumber
Secara khusus, inilah cara menangani angka nol di depan . Saya pikir pertanyaan Anda lebih tentang pemformatan sel daripada koreksi otomatis.
Seperti yang disebutkan fitur koreksi otomatis itu sendiri adalah item sistem, dan perlu dinonaktifkan dari System Preferences.
sumber
Huzzah, terima kasih untuk jawaban ini dan yang lainnya, sekarang ada metode dengan manfaat berikut:
Caranya adalah dengan tidak mengawali setiap bidang dengan tanda kutip atau membungkus dengan tanda kutip ganda, tetapi untuk awalan dengan
="
dan akhiran"
. Pada Angka impor memperlakukan konten bidang sebagai string dan pada ekspor itu menjatuhkan awalan dan akhiran.Berikut ini adalah satu liner praktis yang memproses lebih dulu file yang disebut
my.csv
:Yang pertama
sed
menempatkan="
di awal setiap baris, mengubah setiap koma ke",="
, lalu mengakhiri setiap baris dengan"
. Yang keduased
kemudian menghapus bidang yang kosong, karena Numbers tersedak. Akhirnya ia menulis file bernamatmp.csv
yang dapat diklik dua kali lipat atau diteruskan keopen
untuk mengimpor ke Angka.Dalam praktiknya ini akan memutarbalikkan bidang apa pun yang memiliki koma di dalamnya. Anda mungkin lebih baik hanya membungkus bidang-bidang yang dimulai dengan angka, tetapi kemudian Anda harus berhati-hati dengan awal dan akhir setiap baris dan versi ekspresi reguler Anda. Ini akan dilakukan di macOS:
Yaitu, cocokkan dengan awal baris atau koma, digit dan kemudian sejumlah karakter yang bukan koma, lalu akhir baris atau koma lainnya. Ganti dengan awal dan akhir yang sama, tetapi dengan bagian tengah dibungkus
="
dan"
.sumber