1 of 18

File Handling & CSV in Python

2 of 18

Kurnia Anwar Ra’if

A Highly-motivated Data Scientist

Senior Data & AI Platform - PT. Mastersystem Infotama Tbk

Data Scientist @ PT. KitaLulus International

Data Scientist @ PT. Sharing Vision– BRI Consultant

Software Engineering @ PT. AILIMA Geothermal

Mentor DS/BI/AI-ML - @ Dibimbing.id

3 of 18

Outline :

  • Opening and reading files
  • Writing to files
  • CSV reading with split()
  • Intro to pandas (optional)

4 of 18

Opening and reading files

5 of 18

Opening and reading files

File handling = cara Python berinteraksi dengan file (text/binary). Umumnya data-data IoT berupa data logging yang tersimpan kedalam format txt, atau secara umumnya data tersimpan pada file CSV (comma separated value).

  • IoT devices sering menulis data sensor (misalnya suhu, kelembaban) ke file .txt atau .csv
  • Python digunakan dalam membaca file ini untuk monitoring, analisis, atau visualisasi.

Sintaks Utama : open(filename, mode)

Mode umum:

1. "r" → read (default)

  • Membaca file berupa teks, angka, atau symbol tertentu.

2. "rb" / "wb" → binary mode

  • membaca file biner (isi file berupa byte, bukan teks).
  • membaca isi file dalam bentuk byte string (b'\x...’).
  • Misal dari sensor IoT terkait gambar (jpg, png, dkk) atau suara (.wav), atau format binary

6 of 18

Hands on

7 of 18

Writing to files

8 of 18

Writing to files

IoT sering menyimpan hasil sensor ke file.

Mode "w" → menulis (overwrite log lama).

Mode "a" → menambahkan log baru tanpa menghapus log lama, sifatnya append.

File txt

File CSV

9 of 18

CSV reading with split()

10 of 18

CSV reading with split()

  • CSV dipakai untuk logging data IoT karena formatnya tabular.
  • Bisa dibaca manual dengan .split(",").

Contoh: Membaca log_suhu.csv

11 of 18

CSV reading with split()

  • Apakah pemisahnya hanya , ?

Separator Titik Koma ;

Separator Pipe ( | ) :

Separator Tab (\t) ;

Output :

12 of 18

Intro to pandas (optional)

13 of 18

Intro to pandas (optional)

  • Mengapa kita perlu memakai Pandas ?
  • Pandas ialah salah satu libraries di python yang mudah untuk managing, mengolah suatu data dalam skala besar. (Gambarannya mirip seperti table excel)

Keterbatasan .split() Manual

  • .split() hanya memecah string menjadi list.
  • Kalau datanya banyak (ribuan baris log IoT), kita harus looping manual.
  • Susah kalau mau:
    • hitung rata-rata,
    • cari nilai maksimum,
    • filter suhu > 30,
    • gabungkan dengan log sensor lain.

14 of 18

Intro to pandas (optional)

15 of 18

Hands on

16 of 18

Brief Assignment

17 of 18

Buat program untuk membaca file log sensor IoT (log_sensor.csv) yang berisi data:�1. Buatlah data waktu, suhu, tekanan (dibebaskan jumlah barisnya serta separasinya juga terserah anda) namun harus realistis angkanya.

2. Spesifikasi Program:

a. Gunakan File Handling manual (open + .split()) untuk membaca file:

  • Tampilkan isi file mentah.
  • Parsing isi file menjadi list of lists sebelum diubah ke dataframe,

3. Konversi data ke Pandas DataFrame dengan kolom yang sesuai.

Hitung dan tampilkan:

Rata-rata suhu dan tekanan

Suhu dan tekanan harus menampilkan nilai maksimum dan minimumnya.

18 of 18

Thank you

https://www.linkedin.com/in/anwaraif/

kurniafreelancer@gmail.com