code pull data lịch sử chúng khoán từ VNSTOCK và lưu vào lakehouse

 !pip install -U vnstock

from vnstock import Vnstock

from vnstock import Vnstock
import pandas as pd

# Danh sách 20 mã chứng khoán bạn muốn lấy dữ liệu
list_symbols = ["VNM", "TCB", "MSN", "VCB", "HPG", "SSI", "MBB", "FPT", "STB", "VPB",
                 "BID", "CTG", "GAS", "REE", "HDB", "BVH", "VIC", "VHM", "PLX", "PNJ"]

# Khởi tạo Vnstock
stock = Vnstock()

# Tạo một DataFrame để lưu toàn bộ dữ liệu
all_data = pd.DataFrame()

# Lặp qua từng mã chứng khoán
for symbol in list_symbols:
    stock_instance = stock.stock(symbol=symbol, source="TCBS")  # Hoặc 'VCI'
    df = stock_instance.quote.history(start='2023-01-01', end='2023-03-01', interval='1D')
    df["symbol"] = symbol  # Thêm cột mã chứng khoán để phân biệt
    all_data = pd.concat([all_data, df], ignore_index=True)

# Hiển thị 10 dòng đầu tiên,cái này để test, xóa # để test
#display(all_data)




# Định nghĩa đường dẫn trong Lakehouse Files
file_path = "/lakehouse/default/Files/LH_stock_his23_24_25.csv"

# Lưu DataFrame dưới dạng CS
all_data.to_csv(file_path, index=False)

print(f"Data saved to {file_path}")



import pandas as pd

# Đọc hai file CSV từ Lakehouse
file1 = "/lakehouse/default/Files/LH_stock_his20_21_22.csv"
file2 = "/lakehouse/default/Files/LH_stock_his23_24_25.csv"

df1 = pd.read_csv(file1)
df2 = pd.read_csv(file2)

# Append hai DataFrame lại với nhau
df_combined = pd.concat([df1, df2], ignore_index=True)

# Hiển thị 5 dòng đầu tiên để kiểm tra
display(df_combined)



df_combined.to_csv("/lakehouse/default/Files/LH_stock_his_all.csv", index=False)
print("Data combined and saved successfully!")


Nhận xét