PythonでExcelファイルを読み込み 編集 CSVファイルに出力する TERAOKAのレジのデータ(3)

以前のプログラムで「teraoka_shukei.xlsx」というファイルを作成しましたが、このファイルから弥生会計への入力用データを作成します。

  1. 売上を計上するデータ
  2. 売上金額を現金売上と売掛金(クレジットカード・paypay)に振替するデータ
  3. 現金売上の金額を預金口座に入金するデータ

の3つを作ります。仕訳で言うと、

1.が (借方)仮払金(貸方)売上

2.が (借方)現金(貸方)仮払金 又は

(借方)売掛金(貸方)仮払金

3.が (借方)預金(貸方)現金

となります。

今回は2.の売上金額を現金や売掛金に振替するデータの作成です。

プログラムのコードは以下の通りです。

import pandas as pd

df = pd.read_excel('teraoka_shukei.xlsx')

#記述しやすくするために列名を変更する
df.columns = ['A','B','C','D','E','F','G','H','I' \
              ,'J','K','L','M','N','O','P','Q','R','S','T','U','V','W']

j = len(df)

#1 現金売上のデータ作成

df_genkin = pd.DataFrame(index=[i for i in range(j)]\
                           , columns=['A','B','C','D','E','F','G','H','I' ,'J','K','L','M','N'\
                                      ,'O','P','Q','R','S','T','U','V','W','X','Y'])

#要素の転記

df_genkin['A'] = 2000
df_genkin['B'] = ''
df_genkin['C'] = ''
df_genkin['D'] = df['O']
df_genkin['E'] = '現金'
df_genkin['F'] = ''
df_genkin['G'] = ''
df_genkin['H'] = '対象外'
df_genkin['I'] = df['A']
df_genkin['J'] = 0
df_genkin['K'] = '仮払金'
df_genkin['L'] = '売上'
df_genkin['M'] = ''
df_genkin['N'] = '対象外'
df_genkin['O'] = df['A']
df_genkin['P'] =  0
df_genkin['Q'] = '現金売上'
df_genkin['R'] = ''
df_genkin['S'] = ''
df_genkin['T'] = 0
df_genkin['U'] = ''
df_genkin['V'] = ''
df_genkin['W'] = 0
df_genkin['X'] =  0
df_genkin['Y'] = 'no'

#現金の売上金額が0である行をリストにする
df_drop = df_genkin[df_genkin['I'] == 0]

#売上金額が0である行を削除する
df_genkin.drop(df_drop.index,inplace = True)

#csvファイルに書き込み
df_genkin.to_csv('py_furikae.csv',encoding = 'cp932'\
                 ,header = False,index = False)


#2 paypay売上のデータ作成

df_paypay = pd.DataFrame(index=[i for i in range(j)]\
                           , columns=['A','B','C','D','E','F','G','H','I' ,'J','K','L','M','N'\
                                      ,'O','P','Q','R','S','T','U','V','W','X','Y'])
#要素の転記

df_paypay['A'] = 2000
df_paypay['B'] = ''
df_paypay['C'] = ''
df_paypay['D'] = df['O']
df_paypay['E'] = '売掛金'
df_paypay['F'] = 'paypay'
df_paypay['G'] = ''
df_paypay['H'] = '対象外'
df_paypay['I'] = df['D']
df_paypay['J'] = 0
df_paypay['K'] = '仮払金'
df_paypay['L'] = '売上'
df_paypay['M'] = ''
df_paypay['N'] = '対象外'
df_paypay['O'] = df['D']
df_paypay['P'] =  0
df_paypay['Q'] = 'paypay売上'
df_paypay['R'] = ''
df_paypay['S'] = ''
df_paypay['T'] = 0
df_paypay['U'] = ''
df_paypay['V'] = ''
df_paypay['W'] = 0
df_paypay['X'] =  0
df_paypay['Y'] = 'no'

#paypayの売上金額が0である行をリストにする
df_drop = df_paypay[df_paypay['I'] == 0]

#売上金額が0である行を削除する
df_paypay.drop(df_drop.index,inplace = True)

#csvファイルに書き込み(追加)
df_paypay.to_csv('py_furikae.csv',mode = 'a' \
                 ,encoding = 'cp932',header = False,index = False)


#3 クレジット売上のデータ作成

df_credit = pd.DataFrame(index=[i for i in range(j)]\
                           , columns=['A','B','C','D','E','F','G','H','I' ,'J','K','L','M','N'\
                                      ,'O','P','Q','R','S','T','U','V','W','X','Y'])

#要素の転記

df_credit['A'] = 2000
df_credit['B'] = ''
df_credit['C'] = ''
df_credit['D'] = df['O']
df_credit['E'] = '売掛金'
df_credit['F'] = 'クレジットカード'
df_credit['G'] = ''
df_credit['H'] = '対象外'
df_credit['I'] = df['C']
df_credit['J'] = 0
df_credit['K'] = '仮払金'
df_credit['L'] = '売上'
df_credit['M'] = ''
df_credit['N'] = '対象外'
df_credit['O'] = df['C']
df_credit['P'] =  0
df_credit['Q'] = 'クレジットカード売上'
df_credit['R'] = ''
df_credit['S'] = ''
df_credit['T'] = 0
df_credit['U'] = ''
df_credit['V'] = ''
df_credit['W'] = 0
df_credit['X'] =  0
df_credit['Y'] = 'no'

#クレジットの売上金額が0である行をリストにする
df_drop = df_credit[df_credit['I'] == 0]

#売上金額が0である行を削除する
df_credit.drop(df_drop.index,inplace = True)

#csvファイルに書き込み(追加)
df_credit.to_csv('py_furikae.csv',mode = 'a'\
                         ,encoding = 'cp932',header = False,index = False)

 

 

 

 

タイトルとURLをコピーしました