將目錄下以每日做為檔名的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')
|
沒有留言:
張貼留言