Membaca dan Menulis File CSV
Urai file CSV baris demi baris dan tulis hasilnya kembali ke disk
Membaca dan Menulis File CSV adalah pelajaran C++ Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar C++ Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus C++ Academy mencakup 4 pelajaran total.
Apa itu CSV?
CSV (Nilai yang Dipisahkan Koma) adalah format tabular teks biasa. Setiap baris adalah satu baris data; koma memisahkan kolom. Formatnya sederhana, tetapi memiliki banyak kasus khusus.
Header yang Diperlukan
Gunakan fstream untuk berkas dan sstream untuk penguraian.
#include <fstream>
#include <sstream>
#include <string>
#include <vector>Membuka Berkas untuk Dibaca
Buat std::ifstream dengan jalur berkas. Pastikan berkas berhasil dibuka.
std::ifstream file("data.csv");
if (!file) {
std::cerr << "Cannot open file\n";
return 1;
}Membaca Baris demi Baris
Gunakan std::getline untuk mengiterasi setiap baris.
std::string line;
while (std::getline(file, line)) {
process(line);
}Memisahkan Baris
Gunakan stringstream dan getline dengan pembatas untuk memisahkan setiap baris menjadi kolom.
std::vector<std::string> split(const std::string& line) {
std::vector<std::string> fields;
std::stringstream ss(line);
std::string field;
while (std::getline(ss, field, ',')) {
fields.push_back(field);
}
return fields;
}Melewati Header
Baca dan buang baris pertama jika baris tersebut berisi nama kolom.
std::string header;
std::getline(file, header); // discardMengurai Kolom Bertipe
Konversikan kolom berupa string menjadi nilai bertipe dengan std::stoi atau std::stod.
auto fields = split(line);
int id = std::stoi(fields[0]);
double price = std::stod(fields[2]);Menulis CSV
Gunakan std::ofstream untuk menulis. Alirkan nilai dengan <<, lalu tambahkan koma dan baris baru.
std::ofstream out("results.csv");
out << "name,score\n";
out << "Ada,95\n";
out << "Bob,82\n";Memberi Tanda Kutip pada Kolom yang Mengandung Koma
Jika sebuah kolom mengandung koma, apit kolom tersebut dengan tanda kutip ganda. Untuk menyertakan tanda kutip di dalam kolom, gandakan tanda kutip tersebut.
std::string escape(const std::string& s) {
if (s.find_first_of(",\"\n") == std::string::npos) return s;
std::string r = "\"";
for (char c : s) {
if (c == '"') r += '"';
r += c;
}
return r + "\"";
}Menangani Baris Baru dalam Kolom
Kolom yang diberi tanda kutip dapat membentang di beberapa baris fisik. Pembaca CSV yang andal melacak status kutip di seluruh pemanggilan getline. Untuk kasus sederhana, gunakan kolom yang tidak membentang di banyak baris.
Menutup Berkas
Aliran berkas tertutup secara otomatis ketika dihancurkan (RAII). Untuk penutupan eksplisit, gunakan file.close()—hanya diperlukan jika Anda ingin menggunakan kembali stream tersebut.
Kapan Menggunakan Pustaka
Untuk berkas CSV kompleks (koma dalam kutipan, nilai multibaris, pengodean), gunakan pustaka seperti rapidcsv atau csv-parser. Buat implementasi sendiri hanya untuk format sederhana yang terkendali.
Pemeriksaan Singkat
Teknik apa yang dapat memisahkan baris berdasarkan koma hanya dengan menggunakan pustaka standar?
Ringkasan
Baca CSV dengan std::ifstream + std::getline, pisahkan baris dengan stringstream dan pembatas koma, lalu urai kolom bertipe dengan std::stoi/stod. Gunakan pustaka sungguhan untuk CSV yang kompleks.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Membaca dan Menulis File CSV” gratis?
Ya — teks lengkap “Membaca dan Menulis File CSV” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus C++ Academy, upgrade ke CoddyKit PRO. Kursus C++ Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Membaca dan Menulis File CSV”?
Urai file CSV baris demi baris dan tulis hasilnya kembali ke disk Kamu berlatih C++ Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai C++ Academy?
Tidak diperlukan pengalaman sebelumnya. C++ Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Membaca dan Menulis File CSV” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran C++ Academy ini?
Ya. Setiap pelajaran C++ Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Membangun CLI Kalkulator Sederhana
- Membaca dan Menulis File CSV
- Permainan Tebak Bilangan
- Penghitung Frekuensi Kata