2021年9月30日 星期四

Python-讀取CSV資料轉成需要的資訊

將目錄下以每日做為檔名的CSV檔案,裡面的資料轉成需要的資訊做分析。


 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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import csv

import os



def DataToCsv(path):

#將目錄下的CSV檔案,整理其中的資料匯出需要的資訊。

#目錄下有用日期為檔名的CSV檔,內容為銷售商品,需將有銷售手機的日期,匯到另一份CSV做分析。



Dates=[]

Scores=[]

try:

# 取得指定路徑下的所有檔案及目錄名稱名稱

for root,directorys,files in os.walk(path):

for file in files:

#合併路徑及取得的路徑檔案及目錄名稱

full_path=os.path.join(root,file)

#將檔名及副檔名分開。

filename,extension=os.path.splitext(file)

#判斷副檔名為CSV。

if extension =='.csv':

#開起路徑中CSV的檔案。

with open(full_path, newline='') as csvfile:

#將csv檔案讀入。

rows = csv.DictReader(csvfile)

#判斷某行資料是否條件,若符合將檔名及資料寫入。

for row in rows:

if row['商品種類']=='手機':

Dates.append(filename)

Scores.append(row['銷售金額'])

csvfile.close()

#建立csv檔案。

with open('D:\\output.csv', 'w', newline='') as csvfile:

writer = csv.writer(csvfile)

#將日期和資料寫入。

for i in range(len(Dates)):

writer.writerow([Dates[i],Scores[i]])

csvfile.close()



except Exception as e:

#例外顯示。

print(f'An Error occurred:',e)





DataToCsv('D:\\Date')

沒有留言:

張貼留言

Ubuntu-Journalctl查看系統日誌

 近期所使用Ubuntu系統24小時開著,進行跑Python程式使用,但跑個2~3天,排程就無法正常寄信,SSH連線也無法正常連線,經查看後為wifi連線問題,暫先使用腳本排程進行重開wifi。 以下為記錄Journalctl指令。 使用Journalctl來從系統日誌上查看看問...