備忘禄
あるシステムの作業実績データのCSVを抜き出せるが、データが余分な人のデータまで抜き出してしまう。必要な行の必要な項目だけまとめたCSVを抽出する。
DBをRead権限で参照させてほし・・・・
import openpyxl
import pprint
import os
import csv
SheetName = "Sheet1"
caseNameColumn = "A"
####書き出しエクセルの情報
#書き出すエクセルファイル
resultFileName = 'output.xlsx'
resultFile = openpyxl.load_workbook(resultFileName)
# シートを取得
sheetResult = resultFile['Sheet1']
#カラム
name = "A"
month = "B"
project = "C"
yoteikosu = "D"
resultCount = 1
#とりあえず20行分まわす
for num in range(20):
caseGyo = str(num + 1)
# print(caseGyo)
caseName = caseNameColumn + caseGyo
wb = openpyxl.load_workbook("対象.xlsx")
sheet = wb[SheetName]
cell1 = sheet[caseName]
if (cell1.value == None):
break
print(cell1.value)
#------------
csvfile = open("data.csv", 'r')
reader = csv.reader(csvfile)
for row in reader:
if (cell1.value == row[0]):
resultCount = resultCount + 1
print("csv",row[3], " " , resultCount)
sheetResult[name + str(resultCount)] = row[0]
sheetResult[month + str(resultCount)] = row[0]
sheetResult[project + str(resultCount)] = row[1]
sheetResult[yoteikosu + str(resultCount)] = row[2]
# 保存する
resultFile.save(resultFileName)