본문 바로가기
study/Python

[Python] 35. Test 답

by 금이패런츠 2022. 6. 20.
728x90
반응형
# -*- coding: utf-8 -*-
"""
Created on Mon Jun 20 14:51:08 2022

@author: KITCOOP
test0620_A.py
"""
'''
1. dict_data 데이터를 이용하여 데이터프레임객체 df 생성하기
 단  index 이름은 r0,r1,r2로 설정
'''
import pandas as pd
dict_data = {'c0':[1,2,3], 'c1':[4,5,6], 'c2':[7,8,9], \
             'c3':[10,11,12], 'c4':[13,14,15]}
#df = pd.DataFrame(dict_data, index=['r0', 'r1', 'r2'])
df=pd.DataFrame(dict_data)
df.index=['r0','r1','r2'] 
print(df)    


'''
2. supplier_data.csv 파일을 
  pandas를 이용하여 읽고 Invoice Number,Cost,Purchase Date
  컬럼만 df_data.csv 파일에 저장하기
'''
import pandas as pd

infile = "data/supplier_data.csv"
df = pd.read_csv(infile)

df_inset= df[["Invoice Number","Cost","Purchase Date"]]
print(df_inset)
df_inset.to_csv("data/df_data.csv",index=False)

"""
3. supplier_data.csv 파일을 
   pandas를 이용하여 읽고 Purchase Date 컬럼의 값이 1/20/14인 데이터만 
   140120_data.csv 파일로 저장하기
"""
import pandas as pd

infile = "data/supplier_data.csv"
df = pd.read_csv(infile)
print(df);

df_inset = df.loc[df["Purchase Date"] == "1/20/14"]
print(df_inset)
df_inset.to_csv("data/140120_data.csv",index=False)

'''
4. sales_2015.xlsx 파일의  january_2015 sheet의 중
   "Customer Name", "Sale Amount" 컬럼만 
   sales_2015_amt.xlsx 파일로 저장하기  
'''         
import pandas as pd
infile="data/sales_2015.xlsx"
outfile = "data/sales_2015_amt.xlsx"
df = pd.read_excel(infile,"january_2015",index_col=None)
df_value = df[["Customer Name","Sale Amount"]]
print(df_value)
writer = pd.ExcelWriter(outfile)
df_value.to_excel(writer,sheet_name="january_2015",index=False)
writer.save()
writer.close()

'''
5. sales_2015.xlsx 파일의  모든 sheet의 
   "Customer Name", "Sale Amount" 컬럼만 
    sales_2015_allamt.xlsx 파일로 저장하기  
'''
import pandas as pd
infile="data/sales_2015.xlsx"
outfile = "data/sales_2015_allamt.xlsx"
writer = pd.ExcelWriter(outfile)
df = pd.read_excel(infile,sheet_name=None,index_col=None)
print(type(df))
for worksheet_name,data in df.items() :
    print("===",worksheet_name,"===")
    data_value = data[["Customer Name","Sale Amount"]]
    data_value.to_excel(writer,sheet_name=worksheet_name,index=False)
writer.save() 
writer.close()
728x90
반응형