import json
from utility.excel_processor import ExcelProcessor
from utility.sqlite_table_manager import SQLiteTable
try:
excel_processor = ExcelProcessor()
with open('args.json', 'r', encoding='utf-8') as json_file:
args_json = json.load(json_file)
result_df = excel_processor.process_excel_file(json.dumps(args_json))
print(result_df)
my_table = SQLiteTable("test.db")
my_table.truncate_table(args_json['database_table_name'])
my_table.save_dataframe_to_database(result_df, args_json['database_table_name'])
my_table.close()
except Exception as e:
print(f"エラーが発生しました: {str(e)}")
import openpyxl
import pandas as pd
import json
class ExcelProcessor:
def __init__(self):
pass
def process_excel_file(self, json_args):
args = json.loads(json_args)
excel_file_path = args['excel_file_path']
sheet_name = args['sheet_name']
columns = args['columns']
min_row = args.get('min_row', None)
max_row = args.get('max_row', None)
min_col = args.get('min_col', None)
max_col = args.get('max_col', None)
values_only = args.get('values_only', True)
workbook = openpyxl.load_workbook(excel_file_path)
sheet = workbook[sheet_name]
data = []
for row in sheet.iter_rows(min_row=min_row, max_row=max_row, min_col=min_col, max_col=max_col, values_only=values_only):
data.append(row)
df = pd.DataFrame(data, columns=columns)
workbook.close()
return df
{
"excel_file_path": "./input/input_sample.xlsx",
"sheet_name": "Sheet1",
"database_table_name": "your_table_name",
"columns": ["日付", "受注No", "顧客名", "商品名", "数量", "単価", "割引", "税金", "合計", "送料", "支払い方法"],
"min_row": 6,
"max_row": 15,
"min_col": 2,
"max_col": 12,
"values_only": true
}