# 先進行yum套件的update yum update -y # 安裝相依性套件 yum install gcc openssl-devel bzip2-devel libffi-devel zlib-devel # 下載python 3.7.9 source code cd /usr/src wget https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tgz # 解壓縮,並開始安裝 tar xzf Python-3.7.9.tgz cd Python-3.7.9 ./configure --enable-optimizations make altinstall # 刪除下載的檔案 rm -rf /usr/src/Python-3.7.9.tgz # 確認是否安裝成功 python3.7 -V
Be Myself
java、c#、SQL、Perl、php
2021年3月8日 星期一
CentOS Python 3.7 安裝方式
有些開發的程式在python 3.8的檔案套件不相容,例如pymssql,等。
所以如果不建置虛擬環境的話才特意安裝3.7版本的python
安裝流程如下
2021年3月4日 星期四
Vertica Division by Zero Error
最近剛接觸Vertica DB,有一些SQL語法跟MySQL、MSSQL又不太一樣,最近遇到一個問題是。
當分母為0時會出現Division by zero的錯誤,查了一下文件解法如下。
# 這樣會出現錯誤 SELECT 1 / 0; # 解法 SELECT 1 / NULLIFZERO(0); # 另一種解法 SELECT 1 / NULLIF(0, 0);
2021年3月2日 星期二
股票抽籤申購爬蟲
經過多次熱門上市或上櫃的股票公開抽籤過期才發現沒填單,就想要一個自動爬蟲通知的系統。
爬蟲簡易程式碼如下,這個爬蟲可以搭配自動發送Email或是line api或是telgram api
import requests import time import pandas as pd from io import StringIO from datetime import datetime now = datetime.now() now = now.strftime("%Y/%m/%d") # 把要取資料的年份帶入 url = "https://www.twse.com.tw/announcement/publicForm?response=csv&yy={0}".format(now[0:4]) # 用request 套件抓取網頁 res = requests.get(url) res.encoding='big5' # 用pandas讀取csv檔案 df = pd.read_csv(StringIO(res.text), header=1) select_df = pd.DataFrame(df) select_df = select_df[:len(select_df)-5] print(select_df) msg = "" for index,row in select_df.iterrows(): try: ldate = row['抽籤日期'] name = row['證券名稱'] market = row['發行市場'] begindate = row['申購開始日'] enddate = row['申購結束日'] dollor = row['承銷價(元)'] ldate = ldate.replace(ldate[0:3],str(int(enddate[0:3]) + 1911 )) begindate = begindate.replace(begindate[0:3],str(int(begindate[0:3]) + 1911 )) enddate = enddate.replace(enddate[0:3],str(int(enddate[0:3]) + 1911 )) # 組成要發送訊息的格式,如果申購時間還沒過期就可以準備要發送 if(now < enddate): msg += """{0} {1} {2} {3} {4} {5}\n""".format(ldate, begindate, enddate, name, market, dollor) else: msg += "" except: print("error") print(msg)
2021年2月26日 星期五
美金匯率黃金交叉買點分析
最近台幣走強,順勢來分析一下美金的SMA黃金交叉買點情形。
首先資料來自台灣銀行的3年美金歷史價格。網址如下;https://rate.bot.com.tw/xrt/quote/l3y/USD
程式碼如下:
import pandas as pd import matplotlib.pyplot as plt import datetime as dt df = pd.read_csv('data.csv') df.index = pd.to_datetime(df.index, format='%Y%m%d') sma20 = df['現金'].rolling(20).mean() sma60 = df['現金'].rolling(60).mean() entries = (sma20 > sma60) & (sma20.shift() < sma60.shift()) exits = (sma20 < sma60) & (sma20.shift() > sma60.shift()) df['現金'].plot() plt.plot(sma20) plt.plot(sma60) entries.astype(int).plot(secondary_y=True) exits.astype(int).plot(secondary_y=True) plt.show()
2021年2月25日 星期四
Python加密貨幣爬蟲實戰
# 套件安裝 pip install finlab_crypto # 程式碼開始 import finlab_crypto import matplotlib.pyplot as plt # 初始化,會產生相關資料夾 finlab_crypto.setup() # 取得歷史數據,設定時間頻率 ohlcv = finlab_crypto.crawler.get_all_binance('BTCUSDT', '4h') # 取得收盤價 close = ohlcv.close # 取出兩條均線 sma20 = close.rolling(20).mean() sma60 = close.rolling(60).mean() plt.plot(close) plt.plot(sma20) plt.plot(sma60) plt.show()
2019年9月3日 星期二
新視窗關閉時 更新 主視窗
寫前端網頁常有需求是開啟的新視窗關閉時,主要視窗要重新取得資料。
有一段JavaScript做法如下,只要寫在子視窗:
有一段JavaScript做法如下,只要寫在子視窗:
window.onunload = refreshParent; function refreshParent() { window.opener.location.reload(); } #同廠加映,母視窗開起子視窗的語法 $(function () { $("#divid").on('click',function(){ var currentRow=$(this).closest("tr"); var col1=currentRow.find("td:eq(0)").text(); var col2=currentRow.find("td:eq(1)").text(); var col3=currentRow.find("td:eq(2)").text(); var col4=currentRow.find("input:eq(0)").val(); // var data=col1+"\n"+col2+"\n"+col3+"\n"+col4; // alert(data); $.get("FunctionSnmp.php", {sid: col4, system: 'cctv'}, function(data) { alert(data); // $.unblockUI(); }); }); })
2019年8月29日 星期四
sum 運算子的運算元資料類型 nvarchar 無效。
當我們要對SQL中進行運算,如MAX、MIN、SUM,等等。
而當預計算的欄位是NVARCHAR或VARCHAR就會出現類似以下錯誤訊息。
sum 運算子的運算元資料類型 nvarchar 無效。
調整SQL語法如下:
而當預計算的欄位是NVARCHAR或VARCHAR就會出現類似以下錯誤訊息。
sum 運算子的運算元資料類型 nvarchar 無效。
調整SQL語法如下:
SELECT c1,c2,c3,sum(c4) from tb1 group by c1,c2,c3 ##修改如下 SELECT c1,c2,c3,Sum(isnull(cast(c4 as float),0)) from tb1 group by c1,c2,c3
訂閱:
文章 (Atom)
CentOS Python 3.7 安裝方式
有些開發的程式在python 3.8的檔案套件不相容,例如pymssql,等。 所以如果不建置虛擬環境的話才特意安裝3.7版本的python 安裝流程如下 # 先進行yum套件的update yum update -y # 安裝相依性套件 yum install gcc o...
-
當我們要對SQL中進行運算,如MAX、MIN、SUM,等等。 而當預計算的欄位是NVARCHAR或VARCHAR就會出現類似以下錯誤訊息。 sum 運算子的運算元資料類型 nvarchar 無效。 調整SQL語法如下: SELECT c1,c2,c3,sum(c4)...
-
之前在開發Java監控Server需要用到snmp套件是使用snmp4j 在.net(C#)是使用SNMPSharpNet 今天則是記錄Python上找了一下比較方便的套件pysnmp 官方網站如下: http://snmplabs.com/pysnmp/index.htm...
-
原本有些API在應用的時候,原本的想法就是透過Telnet的方式來呼叫進行互動式的操作。 但為了簡化環境的因子,想說如果可以利用C#呼叫外部程式的方式,進行溝通鳩可以了。 雖然事與願違,但還是將測試的過程進行了以下的紀錄。 Process process = new ...