1. 藉助powerbi批量導入2000+csv數據文件到sqlserver資料庫的辦法
要解決批量導入2000+CSV數據文件到SQL Server資料庫的問題,可以遵循以下步驟:
首先,背景是需要分析大量的股票數據,數據以2000多個CSV文件存儲在本地。由於使用Power BI Desktop進行分析,每次載入和更新這些文件耗時較長。因此,考慮將數據導入SQL Server資料庫以提高效率。
步驟如下:
1. 使用Power BI Desktop中的Power Query載入數據,進行合並操作。
2. 合並後的數據將載入至Power BI Desktop。
3. 在Power BI Desktop中安裝DAX Studio插件。
4. 在DAX Studio界面選擇高級功能,然後執行數據導出操作,選擇導出至SQL Server。
5. 按照指示輸入雲SQL Server地址或本地計算機名稱和資料庫名稱,點擊導入按鈕。
6. 數據將自動寫入資料庫中,此過程已驗證為簡單且不易出錯。
完成導入後,使用SQL Server Studio即可查看已導入的資料庫。
通過此方法,成功解決了批量導入大量CSV文件到SQL Server資料庫的問題,簡化了數據載入過程,提高了效率。
2. 通過Tushare平台,獲取指數信息存入資料庫中
通過Tushare平台,獲取並存入資料庫指數信息,具體步驟如下:
首先,獲取股票指數信息。利用Python的tushare庫,通過賬號訪問數據源,獲取上證綜指、深證成指、上證50、滬深300與中證500等指數的數據。以2011年1月1日至2020年12月31日的數據為例,使用Pandas庫進行數據處理,最後將數據連接至資料庫。
其次,建立資料庫連接並創建表格。在MySQL資料庫中,創建一個名為tushare.index_daily的表格,表格包括指數代碼、交易日期、開盤價、最高價、最低價、收盤價、昨收價與成交量。
再次,將獲取的指數數據插入資料庫中。使用for循環遍歷各指數,執行SQL語句插入數據至指定表格。確保數據完整性和准確性。
接著,計算每個日期對應的星期。使用SQL的WEEKDAY函數,返回交易日期對應的星期編號(0為星期一,6為星期日)。
隨後,計算每日漲跌幅。通過計算收盤價與昨收價的百分比變化,得出每日漲跌幅。
最後,統計分組得到每個指數不同天的平均漲跌幅。使用SQL語句,按指數代碼與星期編號分組,並計算平均漲跌幅。結果按照指數代碼與星期排序,便於分析。
將處理後的數據輸出,使用Python連接資料庫執行SQL查詢,並將查詢結果轉化為列表輸出。完成數據的獲取、處理與展示。
3. 如何下載股票歷史成交數據到Excel或txt
以華中智能股票軟體為例:(以Think pad X13 銳龍版筆記本電腦,Windows 10 操作為例)首先切換到要下載數據的股票K線形態,按「F1」進入「日線某某股票歷史成交」,點擊滑鼠右鍵->數據導出->導出所有數據->在「請選擇導出的類型」中選擇excel或txt
補充資料:
如何獲取所有股票歷史數據:
如果要對股市進行分析,首先就要獲取所有股票的歷史數據,只有通過股票的歷史數據,我們才能分析出股市的規律。
(以Think pad X13 銳龍版筆記本電腦,Windows 10 操作為例)
一、工具/原料
1、EXCEL2007或者以上版本,不能使用WPS
2、電腦1g內存1核處理器及以上配置
3、擁有較強邏輯分析能力以及少量智慧及以上的大腦一顆
方法/步驟:
第一步,獲取股票代碼,復制其中一部分到第一個工作表A4到A127,然後通過程序把每一個代碼寫入到不同的工作表A2位置,並對該工作表以該股票代碼命名。程序如下:
Sub 工作表命名()
For i = 4 To 127
Sheets(i).Range("a2") = "'" & Sheets(1).Range("a" & i)
Next i
For i = 4 To Sheets.Count
Sheets(i).Name = Sheets(i).Range("a2").Value
Next
End Sub
第二步,獲取股票歷史數據。代碼如下:
Private Function GetSource(sURL As String) As String
Dim oXHTTP As Object
Set oXHTTP = CreateObject("MSXML2.XMLHTTP")
oXHTTP.Open "GET", sURL, False
oXHTTP.Send
GetSource = oXHTTP.responsetext
Set oXHTTP = Nothing
End Function
Sub 歷史數據()
Dim objXML As Object
Dim txtContent As String
Dim i As Integer
Dim strCode As String
Dim gp As String
Dim kaishihang
Dim arr, arr1, arr2, arr3, arr4, arr5, arr6, arr7, arr8, arr9, arr10, arr11
On Error Resume Next
EndRow = Range("a65536").End(xlUp).Row
startRow = 4
If startRow <= EndRow Then
Range(Cells(startRow, 1), Cells(EndRow, 11)).Value = ""
Else
Exit Sub
End If
Set objXML = CreateObject("Microsoft.XMLHTTP")
gp = [A2]
For h = 1 To 4
For m = 1 To 4
kaishihang = [A65535].End(xlUp).Row
nian = Replace(Str(Year(Now) + 1 - h), " ", "")
ji = Replace(Str(4 + 1 - m), " ", "")
With objXML
.Open "GET", "http://quotes.money.163.com/trade/lsjyj_" + gp + ".html?year=" + nian + "&season=" + ji + "", False
.Send
If objXML.Status = 200 Then
txtContent = .responsetext
arr = Split(txtContent, "'>
") For i = 1 To UBound(arr) arr1 = Split(arr(i), " | Cells(i + kaishihang, 1) = Right(Left(arr1(0), 10), 10) arr2 = Split(arr1(1), Chr(60)) Cells(i + kaishihang, 2) = Mid(arr2(0), InStr(arr2(0), ">") + 1) arr3 = Split(arr1(2), Chr(60)) Cells(i + kaishihang, 3) = Mid(arr3(0), InStr(arr3(0), ">") + 1) arr4 = Split(arr1(3), Chr(60)) Cells(i + kaishihang, 4) = Mid(arr4(0), InStr(arr4(0), ">") + 1) arr5 = Split(arr1(4), Chr(60)) Cells(i + kaishihang, 5) = Mid(arr5(0), InStr(arr5(0), ">") + 1) arr6 = Split(arr1(5), Chr(60)) Cells(i + kaishihang, 6) = Mid(arr6(0), InStr(arr6(0), ">") + 1) arr7 = Split(arr1(6), Chr(60)) Cells(i + kaishihang, 7) = Mid(arr7(0), InStr(arr7(0), ">") + 1) arr8 = Split(arr1(7), Chr(60)) Cells(i + kaishihang, 8) = Mid(arr8(0), InStr(arr8(0), ">") + 1) arr9 = Split(arr1(8), Chr(60)) Cells(i + kaishihang, 9) = Mid(arr9(0), InStr(arr9(0), ">") + 1) arr10 = Split(arr1(9), Chr(60)) Cells(i + kaishihang, 10) = Mid(arr10(0), InStr(arr10(0), ">") + 1) arr11 = Split(arr1(10), Chr(60)) Cells(i + kaishihang, 11) = Mid(arr11(0), InStr(arr11(0), ">") + 1) Next i End If End With Next m Next h Set objXML = Nothing End Sub 第三步,獲取上證歷史數據,並獲取所有股票的歷史數據。程序如下: Sub 所有股票歷史數據獲取() Application.ScreenUpdating = False Dim s As String, gp As String, nian As String, ji As String, s1 As String Dim arr, arr1, arr2, arr3, arr4, arr5, arr6, arr7, arr8, arr9 Dim i, h As Long Dim kaishihang Dim LastRow As Long, r As Long On Error Resume Next EndRow = Sheet2.Range("a65536").End(xlUp).Row startRow = 4 If startRow <= EndRow Then Sheet2.Range(Sheet2.Cells(startRow, 1), Sheet2.Cells(EndRow, 9)).Value = "" Else Exit Sub End If For h = 1 To 5 For m = 1 To 4 kaishihang = Sheet2.[A65535].End(xlUp).Row nian = Replace(Str(Year(Now) + 1 - h), " ", "") ji = Replace(Str(4 + 1 - m), " ", "") s1 = "http://quotes.money.163.com/trade/lsjysj_shu_000001.html?year=" + nian + "&season=" + ji + "" s = GetSource(s1) arr = Split(s, "'> | ") For i = 1 To UBound(arr) arr1 = Split(arr(i), " | Sheet2.Cells(i + kaishihang, 1) = Right(Left(arr1(0), 4), 4) & "-" & Right(Left(arr1(0), 6), 2) & "-" & Right(Left(arr1(0), 10), 2) arr2 = Split(arr1(1), Chr(60)) Sheet2.Cells(i + kaishihang, 2) = Mid(arr2(0), InStr(arr2(0), ">") + 1) arr3 = Split(arr1(2), Chr(60)) Sheet2.Cells(i + kaishihang, 3) = Mid(arr3(0), InStr(arr3(0), ">") + 1) arr4 = Split(arr1(3), Chr(60)) Sheet2.Cells(i + kaishihang, 4) = Mid(arr4(0), InStr(arr4(0), ">") + 1) arr5 = Split(arr1(4), Chr(60)) Sheet2.Cells(i + kaishihang, 5) = Mid(arr5(0), InStr(arr5(0), ">") + 1) arr6 = Split(arr1(5), Chr(60)) Sheet2.Cells(i + kaishihang, 6) = Mid(arr6(0), InStr(arr6(0), ">") + 1) arr7 = Split(arr1(6), Chr(60)) Sheet2.Cells(i + kaishihang, 7) = Mid(arr7(0), InStr(arr7(0), ">") + 1) arr8 = Split(arr1(7), Chr(60)) Sheet2.Cells(i + kaishihang, 8) = Mid(arr8(0), InStr(arr8(0), ">") + 1) arr9 = Split(arr1(8), Chr(60)) Sheet2.Cells(i + kaishihang, 9) = Mid(arr9(0), InStr(arr9(0), ">") + 1) Next i Next m Next h Application.ScreenUpdating = True n = Worksheets.Count For i = 4 To n Worksheets(i).Activate 歷史數據 Next End Sub 第四步,保存工作簿,並對該工作簿命名為1,然後復制該工作簿27份,把所有股票代碼寫入每一個工作簿第一個工作表的A3到A127列。然後根據第一步對工作簿內的工作表命名,並在每一個工作表A2單元格內寫入股票代碼。 第五步,把這些工作簿存放到炒股文件夾下的資料庫文件下。然後在炒股文件夾下新建一個工作簿,命名為「一鍵更新表格」,寫入如下代碼: Sub 所有股票歷史數據更新() Dim wb As Workbook For i = 1 To 27 Set wb = Workbooks.Open(ThisWorkbook.Path & "資料庫" & i & "".xlsb"") Application.Run ""'"" & wb.Path & """" & i & "".xlsb'!所有股票歷史數據獲取"" wb.Save wb.Close Next i End sub 當啟動這一段代碼以後,程序會自動一個一個的打開對應的工作簿然後獲取裡面所有股票的歷史數據,存放在對應的工作表當中。 第六步,對相應的程序添加按鈕,這樣,我們在啟動對應程序時,只需要點一下對應的按鈕就可以實現了。這樣,我們通過多個工作簿就實現了獲取所有股票歷史數據的方法。而後面,我們只需要通過獲取對應股票每一天的歷史數據,我們就能夠在任意一天很快速的能夠擁有所有股票的歷史數據了。 注意事項 1、在後續需要對這些數據進行分析,裡面會加入很多計算,所以啟動所有歷史數據更新時,我們應該要關閉自動更新。 2、因為歷史數據很大,所以這里只獲取四年的數據,想要獲取更多數據,可以更改程序裡面 「For h = 1 To 5」的那個5即可。 3、歷史數據的獲取需要較長的時間,要提前做好准備。 4、如果你想要弄清楚用EXCEL建立炒股系統的整套方法,請看後續內容。"
4. 股票歷史數據下載_股票歷史數據下載excel
股票歷史數據下載到Excel的簡要指南: 一、選擇數據源 專業金融數據平台:可以通過訪問各大金融數據平台或交易所的官方網站,這些平台通常會提供股票歷史數據的下載服務。 第三方數據提供商:如Tushare等Python庫,它們提供了豐富的金融數據介面,可以通過編程方式獲取股票歷史數據。
二、數據格式選擇 CSV格式:CSV格式是一種通用的數據交換格式,易於被Excel等數據處理軟體識別和導入。在下載股票歷史數據時,優先選擇CSV格式。 Excel格式:部分數據源可能直接提供Excel格式的股票歷史數據,但這種情況相對較少。如果數據源只提供其他格式(如TXT、資料庫文件等),則需要進行格式轉換。
三、下載與導入Excel 直接下載CSV文件:從數據源下載CSV格式的股票歷史數據後,雙擊該文件即可在Excel中打開,並自動轉換為Excel表格。 使用Python等工具轉換:如果下載的數據不是CSV或Excel格式,可以使用Python等工具進行數據清洗和格式轉換。例如,使用Tushare庫獲取數據後,可以將其保存為CSV文件,再導入Excel。 數據清洗與整理:在Excel中打開CSV文件後,可能需要進行一些數據清洗和整理工作,如刪除無用列、調整列順序、設置日期格式等。
四、注意事項 數據版權:在下載和使用股票歷史數據時,請注意遵守相關法律法規和數據版權規定。 數據准確性:確保下載的數據准確無誤,避免使用錯誤的數據進行投資分析。 數據更新:定期更新股票歷史數據,以反映市場的最新變化。
5. 萬德資料庫如何導入股票代碼_嘉泰激光
在萬德資料庫中導入股票代碼「嘉泰激光」的方法如下: 通過數據瀏覽器批量導入: - 打開萬德資料庫的數據瀏覽器。
- 在菜單欄中找到「工具」或類似選項,進入「板塊管理」。
- 選擇「新建板塊」,為你的板塊命名,例如「嘉泰激光板塊」。
- 選擇導入方式,推薦使用「文件導入」。准備一個包含「嘉泰激光」股票代碼的TXT文件,格式通常為每行一個股票代碼。
- 選擇該TXT文件進行導入,完成後在數據瀏覽器中即可選擇該板塊查看相關數據。
通過Wind.NET信息終端設置自選股: - 打開Wind.NET信息終端,登錄你的賬戶。
- 點擊「股票」菜單,進入「自選股監控」。
- 在「我的自選股」窗口中,點擊右上角「設置自選」。
- 在「板塊管理」窗口中,點擊「新建」來創建一個新的自選股板塊,並為其命名。
- 選擇「文件導入」方式,將包含「嘉泰激光」股票代碼的TXT文件導入到該板塊中。
注意事項: - 確保TXT文件中的股票代碼格式正確,無多餘字元或空格。
- 如果「嘉泰激光」是一個具體的公司名稱而非股票代碼,你可能需要先通過萬德資料庫的搜索功能找到對應的股票代碼,然後再進行導入。
- 不同的萬德資料庫版本或客戶端界面可能略有不同,但大體操作流程相似。如果遇到問題,可以參考萬德資料庫的官方幫助文檔或聯系客服支持。
6. 證券數據如何導出股票資料庫(股票投資策略)
證券數據導出到股票資料庫(股票投資策略)的步驟如下: 使用股票軟體導出數據: - 打開股票軟體:首先,需要在電腦上打開所使用的股票分析或交易軟體。
- 選擇導出功能:不同的軟體有不同的導出方式。一些軟體可能通過快捷鍵(如按34後回車)來調出導出對話框,而其他軟體可能需要通過菜單欄中的「數據導出」或類似選項來執行。
- 設置導出格式和路徑:在導出對話框中,選擇需要的導出格式(通常是Excel格式),並指定保存數據的路徑。
- 執行導出:點擊「導出」按鈕,等待數據導出完成。
編輯和整理數據(如果需要): - 打開Excel:使用Microsoft Excel或其他兼容的電子表格軟體打開導出的數據文件。
- 檢查數據:確認數據無誤,包括日期、股票代碼、開盤價、收盤價、成交量等關鍵信息。
- 整理數據:根據需要,對數據進行進一步的編輯和整理,如排序、篩選、添加公式等。
將數據導入到資料庫: - 打開資料庫軟體:啟動所使用的資料庫管理系統(如MySQL、SQL Server等)。
- 創建或選擇資料庫和表:根據需要,創建一個新的資料庫和表,或者選擇一個現有的資料庫和表來存儲導入的數據。
- 執行數據導入:在資料庫管理系統中,找到數據導入功能(通常位於「任務」或「導入和導出」菜單下)。按照向導的提示,選擇導出的Excel文件作為數據源,並指定目標資料庫和表。然後,執行導入操作。
進行統計分析: - 使用資料庫查詢語言:利用SQL或其他資料庫查詢語言,對導入的數據進行統計分析。可以編寫查詢語句來獲取特定的數據子集,或者計算統計指標(如均值、標准差、相關性等)。
- 利用資料庫的分析工具:一些資料庫管理系統提供了內置的數據分析工具,可以利用這些工具進行更深入的數據挖掘和分析。
制定投資策略: - 基於分析結果制定策略:根據統計分析的結果,結合市場趨勢、行業前景、公司基本面等因素,制定適合自己的投資策略。
- 定期更新和調整策略:市場是不斷變化的,因此需要定期更新和調整投資策略以適應新的市場情況。
注意事項: - 在導出和導入數據時,要確保數據的完整性和准確性。
- 不同的股票軟體和資料庫管理系統可能有不同的導出和導入方式,因此需要根據具體情況進行操作。
- 在進行統計分析時,要選擇合適的統計方法和指標,以確保分析結果的可靠性和有效性。
7. 證券數據如何導出股票資料庫(股票投資策略)
證券數據導出到股票資料庫(股票投資策略)的步驟如下: 使用股票軟體導出數據: - 打開股票軟體:首先,在電腦上打開你所使用的股票軟體,如通達信、同花順、招商證券等。
- 找到數據導出功能:在軟體內,通常可以通過菜單欄或快捷鍵找到「數據導出」或類似功能。例如,在通達信中,可以按34鍵後回車,選擇「數據導出」。
- 選擇導出格式和路徑:在導出數據時,選擇Excel格式,並指定保存路徑。這樣可以確保數據以表格形式保存,便於後續處理。
編輯和整理數據: - 打開Excel文件:使用Excel打開導出的數據文件。
- 檢查和清理數據:確認數據無誤後,根據需要清理和整理數據,如刪除無關列、調整列順序等。
- 格式化數據:確保數據具有Excel表格樣式,如設置合適的列寬、對齊方式等,以便更好地進行後續分析。
將數據導入到資料庫: - 選擇資料庫軟體:根據你的需求選擇合適的資料庫軟體,如MySQL、SQL Server等。
- 創建資料庫和表:在資料庫軟體中創建新的資料庫和表,表的結構應與導出的Excel數據相匹配。
- 導入數據:使用資料庫軟體提供的導入功能,將Excel數據導入到資料庫中。具體操作可能因資料庫軟體而異,但通常包括選擇數據源、指定目標表、映射欄位等步驟。
進行統計分析: - 使用資料庫查詢功能:在資料庫中,你可以使用SQL查詢語言對數據進行統計分析,如計算均值、標准差、生成圖表等。
- 結合投資策略:根據統計分析結果,結合你的股票投資策略,制定具體的投資決策。
注意事項: - 在導出和導入數據時,務必確保數據的完整性和准確性。
- 不同的股票軟體和資料庫軟體可能具有不同的導出和導入功能,具體操作請參照相應軟體的官方文檔或幫助文件。
- 在進行統計分析時,應充分考慮數據的時效性和相關性,避免過度擬合或誤導性的結論。
與股票真實數據導入資料庫相關的資料
熱點內容
股票快速盈利方
發布:2025-08-16 14:09:56
瀏覽:547
|