顯示具有 Requests 標籤的文章。 顯示所有文章
顯示具有 Requests 標籤的文章。 顯示所有文章

2024年5月20日 星期一

將Excel檔案存成PDF檔,並加上格線



延續文章:利用Python來操作Excel計算總交易量和總平均

程式碼:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
from openpyxl import load_workbook
import win32com.client as win32
import os

# 載入現有的 Workbook
wb = load_workbook('AquaticTransData.xlsx')
ws = wb.active

# 計算總交易量和總交易額
TotalTradingVolume = 0  # 總交易量
TotalTransactionVolume = 0  # 總交易額
ws['G10001'] = '總交易量'
ws['G10002'] = '總平均價'
for row in range(2, 10001):
    TotalTradingVolume += ws['H' + str(row)].value
    TotalTransactionVolume += ws['H' + str(row)].value * ws['I' + str(row)].value
ws['H10001'] = TotalTradingVolume
ws['H10002'] = TotalTransactionVolume / TotalTradingVolume

# 儲存到 Excel 檔案
wb.save('AquaticTransData.xlsx')
print("資料已儲存到 AquaticTransData.xlsx")

# 使用 win32com 將 Excel 轉換為 PDF
excel = win32.Dispatch('Excel.Application')
excel.Visible = False

# 打開 Excel 文件
workbook = excel.Workbooks.Open(os.getcwd()+'/'+'AquaticTransData.xlsx')

# 獲取第一個工作表
sheet = workbook.Sheets(1)

# 設置列印網格線
sheet.PageSetup.PrintGridlines = True

# 將工作表轉換為 PDF
pdf_path = os.getcwd()+'/'+'AquaticTransData.pdf'
workbook.ExportAsFixedFormat(0, pdf_path)

# 關閉 Excel 應用
workbook.Close(False)
excel.Quit()

print("PDF 檔案已儲存為 AquaticTransData.pdf")


2024年5月19日 星期日

把近日的漁產品交易行情儲存到Excel檔案中

 

參考文章:

1.用Python來撰寫顯示吳郭魚在斗南市場交易情形的程式

2.把JSON格式的線上火車時刻表儲存到Excel檔案中

程式碼:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import requests
import json
from openpyxl import Workbook

# 從URL取得JSON資料
r = requests.get('https://data.moa.gov.tw/Service/OpenData/FromM/AquaticTransData.aspx')
json_data = json.loads(r.text)

# 建立一個新的Workbook
wb = Workbook()
ws = wb.active
ws.title = "漁產品交易行情"

# 寫入標題行
headers = ['交易日期', '品種代碼', '魚貨名稱', '市場名稱', '上價', '中價', '下價', '交易量', '平均價']
ws.append(headers)

# 寫入資料
for item in json_data:
    row = [
        item.get('交易日期'),
        item.get('品種代碼'),
        item.get('魚貨名稱'),
        item.get('市場名稱'),
        item.get('上價'),
        item.get('中價'),
        item.get('下價'),
        item.get('交易量'),
        item.get('平均價')
    ]
    ws.append(row)

# 儲存到Excel檔案
wb.save('AquaticTransData.xlsx')

print("資料已儲存到 AquaticTransData.xlsx")

2024年5月18日 星期六

把JSON格式的線上火車時刻表儲存到Excel檔案中

參考資料:陳會安,看圖學Python+Excel辦公室自動化程式設計,全華

資料來源:https://fchart.github.io/json/TaiwanRailway.json

範例一、使用 pandas 套件來處理和儲存資料到 Excel 檔案

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
import requests
import json
import pandas as pd

# 從URL取得JSON資料
r = requests.get('https://fchart.github.io/json/TaiwanRailway.json')
json_data = json.loads(r.text)

# 轉換成DataFrame
df = pd.DataFrame(json_data)

# 儲存到Excel檔案
df.to_excel('TaiwanRailway.xlsx', index=False)

print("資料已儲存到 TaiwanRailway.xlsx")

註:index=False 表示不將 DataFrame 的索引寫入到 Excel 檔案中。

範例二、使用 openpyxl 套件直接操作 Excel 文件

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import requests
import json
from openpyxl import Workbook

# 從URL取得JSON資料
r = requests.get('https://fchart.github.io/json/TaiwanRailway.json')
json_data = json.loads(r.text)

# 建立一個新的Workbook
wb = Workbook()
ws = wb.active
ws.title = "TaiwanRailway"

# 寫入標題行
headers = ['車種車次 (始發站 → 終點站)', '出發時間', '抵達時間', '行駛時間', '經由', '詳細資訊', '全票', '孩童票', '訂票']
ws.append(headers)

# 寫入資料
for item in json_data:
    row = [
        item.get('車種車次 (始發站 → 終點站)'),
        item.get('出發時間'),
        item.get('抵達時間'),
        item.get('行駛時間'),
        item.get('經由'),
        item.get('詳細資訊'),
        item.get('全票'),
        item.get('孩童票'),
        item.get('訂票')
    ]
    ws.append(row)

# 儲存到Excel檔案
wb.save('TaiwanRailway.xlsx')

print("資料已儲存到 TaiwanRailway.xlsx")

範例三、使用 openpyxl 套件直接操作 Excel 文件[不使用get]
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import requests
import json
from openpyxl import Workbook

# 從URL取得JSON資料
r = requests.get('https://fchart.github.io/json/TaiwanRailway.json')
json_data = json.loads(r.text)

# 建立一個新的Workbook
wb = Workbook()
ws = wb.active
ws.title = "TaiwanRailway"

# 寫入標題行
headers = ['車種車次 (始發站 → 終點站)', '出發時間', '抵達時間', '行駛時間', '經由', '詳細資訊', '全票', '孩童票', '訂票']
ws.append(headers)

# 寫入資料
for item in json_data:
    row = [
        item['車種車次 (始發站 → 終點站)'],
        item['出發時間'],
        item['抵達時間'],
        item['行駛時間'],
        item['經由'],
        item['詳細資訊'],
        item['全票'],
        item['孩童票'],
        item['訂票']
    ]
    ws.append(row)

# 儲存到Excel檔案
wb.save('TaiwanRailway.xlsx')

print("資料已儲存到 TaiwanRailway.xlsx")