2020年12月2日 星期三
Pandas 容易踩的坑(持續更新)
2020年11月2日 星期一
Docker MySQL cheat list
先移到打算存備份檔案的資料夾裡面
再執行
docker cp <container id>:<path inside container, eg. /home/mysql.sql> .
這樣子就已經把備份檔存到本機目前所在資料夾裡面了。
之後,再把檔案移到新的容器裡
docker exec -i <container id> sh -c 'cat > <path you want to store the data, eg. /home/mysql.sql' < <備份檔案名, e.g. mysql. sql>
再來要進去那個容器
mysql -uroot -p <database name you backed up> < <path to the back up file, eg. /home/my first.sql >
登進去看看
mysql -uroot -p
>SHOW DATABASES;
就完成囉!
2020年10月23日 星期五
csv的大坑
2020年10月1日 星期四
Json常用指令
當跟數據科學家合作案件,常常是用json傳遞資料。我們如果從資料庫拉資料出來,也常常是dictionary格式。
這裡梁哥整理一下平常常用的指令,作為一個cheat sheet。
假設出現json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes
你就需要將單引號換成雙引號,
str = str.replace(" \' ", " \" ")
如果需要轉成dictionary,就要搭配json.loads()
dictionary = json.loads(str)
2020年9月30日 星期三
2020年9月22日 星期二
Django formset用法
這周在作表單,發現這實在是個大坑啊…花了很多時間在這個上面。
首先,推薦使用model formset_factory,因為方便不少。這個功能的特色是可以直接調用
formset = myformset(request.POST)
if formset.is_valid():
formset.save()
return redirect <the view u want to redirect>
那要怎麼用呢?
你可以選擇在forms.py裡面import
from django.forms import modelformset_factory
class FakeForm(forms.ModelForm):
class Meta:
Model = Foo
fields = ('list of the fields')
FakeFormset = modelformset_factory(Foo, FakeForm, extra=<how many u want>)
是不是很方便呢?
如果需要更高的可控性,只好使用一般的formset,缺點就是你得自己處理裡面的表單們。
formset = FooFormset(request.POST)
if formset.is_valid:
for form in formset:
field = form.cleaned_data.get('the input field name of the form')
<other fields>
instance = Foo.objects.create(field=field, ....)
instance.save()
return redirect ('<the view you want to redirect the user>')
這樣做就可以一次新增很多筆資料了。