Journey Install Pandoc di Armbian

Ok, ini adalah catatan penting. Tak lain adalah karena saya membuat buku dan saya ingin kemudahan.

Agar sebuanya menjadi mudah maka saya harus melakukan hal sbb:

  1. Menulis buku  dengan format Markdown. Saya menggunakan software MarkText di Windows untuk urusan kemudahan.
  2. Saya harus menyatukan text menggunakan Python. File yang sebelumnya bab 1, bab 2 menjadi satu fike saja.
  3. Saya harus menginstall Pandoc agar file saya yang berakhiran .md itu bisa menjadi buku format buku. Bagian ini yang menantang dan akan saya ceritakan di bawah.

Install Pandoc 

Karena Pandoc berbasis command line, dan saya agak  kesulitan menggunakannya di windows, maka saya memutuskan untuk saya install di Linux (lebih tepatnya armbian), berbekal dengan perintah yang saya dapatkan di blog Mas Endy yang dulu pernah ketemu di Enciety.

sudo apt-get install pandoc texlive-latex-base texlive-xetex latex-beamer

Dan hasilnya error karena latex-beamer tidak ada. Ok saya buang dulu aja latex-beamer yang gunanya buat presentasi, dan saya belum membutuhkannya.

sudo apt-get install pandoc texlive-latex-base texlive-xetex

Berhasil

Menggunakan Pandoc

Kemudian saya coba untuk konversi markdown ke PDF

pandoc -N --variable "geometry=margin=1.2in" --variable fontsize=12pt --variable version=1.0 --toc -o SQL4BusinessAnalist.pdf SQL4BusinessAnalist.md

Okey berhasil dengan format buku standard

Menggunakan Style

Karana saya ingin lebih, maka saya ingin menggunakan format Eisfogel tapi ternyata error…

"template" (line 483, column 16):
unexpected "/"
expecting "." or ")$"

Bagian ini kemudian saya hapus

$for(babelfonts/pairs)$
\babelfont[$babelfonts.key$]{rm}{$babelfonts.value$}
$endfor$

Masih error om

Error producing PDF.
! LaTeX Error: File `sourcesanspro.sty' not found.

Type X to quit or  to proceed,
or enter new name. (Default extension: sty)

Enter file name:
! Emergency stop.
l.179   \usepackage

Akhirnya saya install ini

sudo apt-get install texlive-fonts-recommended texlive-fonts-extra

Akhirnya berhasil.

Dan kita run perintah sbb:

pandoc -N "result.md" -o "document1.pdf" --from markdown --template "../pandoc-template/eisvogel.tex" --listings

Itu dulu catatan hari ini nanti kalau ada perkembangan saya update Awokwokwokwok…

Menangani Spasi pada Kolom dan Value DataFrame

Ketika pandas melakukan pembacaan data dari excel atau CSV, sering kali  pada nama kolom dan data terdapat spasi atau karakter tak terlihat pada sebelum dan sesudahnya.

Dan ini sangat merepotkan data scientis, karena ketika memanggil df[‘nama’] ternyata data tidak muncul hanya karena spasi sehingga baru muncul ketika dipanggil dengan  df[‘nama  ‘]. Sangat mengganggu. Oleh sebab itu harus dilakukan 2 langkah untuk memebereskan hal ini.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Import Library
import pandas as pd
 
# open file from excel to dataframe
file = "sample_data/STUDI KASUS - SIMULASI RETAIL.xlsx"
df = pd.read_excel(file, sheet_name=0)
 
# Membuang spasi sebelum dan sesudah nilai
# strip columns
df.rename(columns=lambda x: x.strip(), inplace=True)
# strip data value yang tipenya object/string
df_obj = df.select_dtypes(['object'])
df[df_obj.columns] = df_obj.apply(lambda x: x.str.strip())
 
# dari df[df['Tanggal_Pembelian '] == ' 2022-01-03 '] menjadi
df[df['Tanggal_Pembelian'] == '2022-01-03']

Konversi Excel ke SQLite dengan Google Collab

Masih seperti sebelumnya, ini adalah cara paling praktis untuk melakukan konversi Excel ke SQLite menggunakan google Collabs

Mount Drive

1
2
3
# mount drive
from google.colab import drive
drive.mount('/content/drive')

Buka Excel dan Konversi ke sqlite

#import library
import pandas as pd
import sqlite3
 
#open file from excel to dataframe
file = "/content/drive/MyDrive/Colab Notebooks/STUDI KASUS - SIMULASI RETAIL.xlsx"
df = pd.read_excel(file, sheet_name=0) 
 
#create database and connect it
database = "/content/drive/MyDrive/Colab Notebooks/retail_fromxlsx.sqlite3"
conn = sqlite3.connect(database)
 
#save data to sqlite
df.to_sql(name='retail', con=conn)
conn.close()

Konversi Excel ke SQLite dengan Python

Melihat kawan saya mendemonstrasikan konversi dari excel ke SQLite dengan bahasa R, membuat saya cukup iri. mestinya Python juga bisa. Dan ternyata bisa juga hanya dengan beberapa baris perintah.

Mekanismenya begini,

Excel -> Pandas -> SQLite

Hebatnya, kita hanya menentukan nama databasenya, nama tabelnya, lalu dia sendiri yang akan menentukan kolom-kolomnya dan memasukkan data ke tabel. Serba otomatis.

Begini skripnya

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#import library
import pandas as pd
import sqlite3
 
#open file from excel to dataframe
file = "STUDI KASUS - DATA PENJUALAN_REV.xlsx"
df = pd.read_excel(file, sheet_name=0)
 
#create database and connect it
database = "penjualandb.sqlite3"
conn = sqlite3.connect(database)
 
#save data to sqlite
df.to_sql(name='penjualan', con=conn)
conn.close()