CSV (Comma-Separated Values)
์ผํ(,)๋ก ๊ตฌ๋ถ๋ ๊ฐ๋ค์ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ํ์ผ ํ์
โข
CSV ํ์ผ์ ์คํ๋ ๋์ํธ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ ํ ํ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
โข
CSV ํ์ผ์ ๊ฐ ํ์ ๋ฐ์ดํฐ์ ํ ํ์ ๋ํ๋ด๋ฉฐ, ๊ฐ ํ ๋ด์ ๊ฐ๋ค์ ์ผํ๋ก ๊ตฌ๋ถ๋ฉ๋๋ค.
โข
CSV ํ์ผ์ ๋ฐ์ดํฐ๋ฅผ ์๋ก ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์
๊ฐ์ ๊ตํํ๋ ๋ฐ ๋๋ฆฌ ์ฌ์ฉ๋ฉ๋๋ค.
์์
์ด๋ฆ, ๋์ด, ๋์
์ฒ ์, 25, ์์ธ
์ํฌ, 30, ๋ถ์ฐ
๋ฏผ์, 28, ๋๊ตฌ
Python
๋ณต์ฌ
pandas ๋ชจ๋
๋ฐ์ดํฐ ์กฐ์๊ณผ ๋ถ์์ ์ํ ํ์ด์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
ํนํ ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ๋ฐ ์ ์ฉํฉ๋๋ค. ๋ฐ์ดํฐํ๋ ์(DataFrame) ์ด๋ผ๋ ์๋ฃ๊ตฌ์กฐ๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ ์ฒ๋ฆฌํ ์ ์๊ฒ ํด์ค๋๋ค.
CSV ํ์ผ ํ์ด์ฌ์ผ๋ก ๋ค๋ฃจ๊ธฐ
โข
CSV ํ์ผ ์ฝ๊ณ ์ฐ๊ธฐ
โข
ํน์ ํ์ ํํฐ๋งํ๊ธฐ
โข
ํน์ ์ด ์ ํํ๊ธฐ
โข
์ฐ์๋ ํ ์ ํํ๊ธฐ
โข
ํค๋ ์ถ๊ฐํ๊ธฐ
โข
์ฌ๋ฌ ๊ฐ์ CSV ํ์ผ ์ฝ๊ธฐ
โข
์ฌ๋ฌ ํ์ผ์ ๋ฐ์ดํฐ ํฉ์น๊ธฐ
โข
ํ์ผ์์ ๋ฐ์ดํฐ ๊ฐ์ ํฉ๊ณ ๋ฐ ํ๊ท ๊ณ์ฐํ๊ธฐ
CSV ํ์ผ ์ฝ๊ณ ์ฐ๊ธฐ
ํ์ด์ฌ์ ์ด์ฉํ์ฌ ํ์ผ์ ์ฝ๊ณ ์ฐ๋ ๋ฐฉ๋ฒ์ ์์๋ด
๋๋ค.
โข
ํ์ด์ฌ ๊ธฐ๋ณธ์ผ๋ก CSV ์ฝ๊ณ ์ฐ๊ธฐ
โฆ
๊ธฐ๋ณธ ํ์ผ ์
์ถ๋ ฅ
โฆ
csv ๋ชจ๋์ ์ด์ฉํ ์
์ถ๋ ฅ
โข
ํ๋ค์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ CSV ์ฝ๊ณ ์ฐ๊ธฐ
ํ์ด์ฌ ๊ธฐ๋ณธ์ผ๋ก CSV ์ฝ๊ณ ์ฐ๊ธฐ
โข
๊ธฐ๋ณธ ํ์ผ ์
์ถ๋ ฅ
โข
csv ๋ชจ๋์ ์ด์ฉํ ์
์ถ๋ ฅ
๊ธฐ๋ณธ ํ์ผ ์ ์ถ๋ ฅ
CSVํ์ผ์ ์ถ๋ ฅ.py
import sys
input_file = sys.argv[1]
output_file = sys.argv[2]
with open(input_file, 'r', newline='') as filereader:
with open(output_file, 'w', newline='') as filewriter:
header = filereader.readline()
header = header.strip()
header_list = header.split(',')
print(header_list)
filewriter.write(','.join(map(str,header_list))+'\n')
for row in filereader:
row = row.strip()
row_list = row.split(',')
print(row_list)
filewriter.write(','.join(map(str,row_list))+'\n')
Python
๋ณต์ฌ
โข
์คํ๋ฐฉ๋ฒ
python ํ์ผ๋ช
"์
๋ ฅcsvํ์ผ๊ฒฝ๋ก" "์ถ๋ ฅcsvํ์ผ๊ฒฝ๋ก"
Python
๋ณต์ฌ
์
๋ ฅํ์ผ๊ณผ ์ถ๋ ฅํ์ผ์ ์ ๋๊ฒฝ๋ก๋ฅผ โ๋ฌธ์์ด๋กโ ์ง์ ํ์ฌ ํ๋ก๊ทธ๋จ ์คํ ์ ์ธ์๋ก ๋ฃ์ด์ค๋ค.
csv ๋ชจ๋์ ์ด์ฉํ ์ ์ถ๋ ฅ
csv ๋ชจ๋์ ์ด์ฉํ ์ ์ถ๋ ฅ
import csv
import sys
input_file = sys.argv[1]
output_file = sys.argv[2]
with open(input_file, 'r', newline='') as csv_in_file:
with open(output_file, 'w', newline='') as csv_out_file:
filereader = csv.reader(csv_in_file, delimiter=',')
filewriter = csv.writer(csv_out_file, delimiter=',')
for row_list in filereader:
filewriter.writerow(row_list)
Python
๋ณต์ฌ
ํ๋ค์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ CSV ์ฝ๊ณ ์ฐ๊ธฐ
ํ๋ค์คCSVํ์ผ์ ์ถ๋ ฅ.py
import sys
import pandas as pd
input_file = sys.argv[1]
output_file = sys.argv[2]
data_frame = pd.read_csv(input_file)
print(data_frame)
data_frame.to_csv(output_file, index=False)
Python
๋ณต์ฌ
(์๋ฌ)
import pandas as pd
ModuleNotFoundError: No module named 'pandas'
pandas ๋ชจ๋์ด ์ค์น๋์ด ์์ง ์๋ค๋ฉด, ๋ชจ๋ ์ค์น๊ฐ ํ์ํฉ๋๋ค.
ํ๋ค์ค ๋ชจ๋ ์ค์นํ๊ธฐ
pip install pandas
Python
๋ณต์ฌ
ํ์ผ ๊ฒฝ๋ก ์ง์ ๋ ์ฝ๊ฒ ํ๊ธฐ
์ฃผ์ด์ง ์์ ์ฝ๋์์๋ sys ๋ชจ๋์ ์ด์ฉํ์ฌ ์๋์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ํ์ผ ๊ฒฝ๋ก๋ฅผ ๊ฐ์ ธ์จ๋ค.
import sys
input_file = sys.argv[1]
output_file = sys.argv[2]
Python
๋ณต์ฌ
์ด๋ ๊ฒ ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ฉด, ๋งค๋ฒ python ๋ช
๋ น์ด๋ฅผ ํฐ๋ฏธ๋์ ์
๋ ฅํด์ ์คํํด์ผํ๊ณ , ๋ ํ์ผ๊ฒฝ๋ก๋ฅผ ๋งค๋ฒ ๋ณต์ฌํด์ ์
๋ ฅํด์ฃผ์ด์ผํ๊ธฐ ๋๋ฌธ์ ๋ฒ๊ฑฐ๋ก์์ด ์๋ค.
python ํ์ผ๋ช
"์
๋ ฅcsvํ์ผ๊ฒฝ๋ก" "์ถ๋ ฅcsvํ์ผ๊ฒฝ๋ก"
Bash
๋ณต์ฌ
์์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด, ๊ฒฝ๋ก๋ฅผ ์ค์๋ก ์๋ชป ์
๋ ฅํ๊ฑฐ๋ ์คํ๊ฐ ์์ด ์คํ์ด ์๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ด ๋ฐ์๋๋ค.
๋ฐ๋ผ์ ์๋์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ๋ฏธ๋ฆฌ ํ๋ก๊ทธ๋จ์ ์คํํ๋ ๊ฒฝ๋ก๋ฅผ ์ง์ ํ๊ณ , ์
๋ ฅ ํ์ผ๊ณผ ์ถ๋ ฅ ํ์ผ ์ด๋ฆ๋ง ์
๋ ฅํ์ฌ ์
๋ ฅ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์์ ๋ถ์ํ๋ ํ์์ผ๋ก ์ฝ๋๋ฅผ ์ฌ์ฉํด๋ณด๋ ค๊ณ ํ๋ค.
์ค์ต ํด๋ ๊ตฌ์กฐ
๐ฆ workspace
โโโ ๐ path
โ โโโ ๐ input
โ โ โโโ ๐ example.csv
โ โ โโโ ๐ example2.xlsx
โ โ โโโ ...
โ โโโ ๐ output
โ โ โโโ ๐ output.csv
โ โ โโโ ๐ output2.xlsx
โ โ โโโ ...
โ โโโ ๐ example.py
โ โโโ ๐ example2.py
โโโ ๐ README.md
Plain Text
๋ณต์ฌ
โข
workspace : ์์
ํด๋
โข
path : ๊ฐ ์์ ๋ค์ ๊ตฌ๋ถํ ํด๋
โฆ
input : ์
๋ ฅ ๋ฐ์ดํฐ ํ์ผ์ ์ ์ฅํ๋ค.
โฆ
output : ์ถ๋ ฅ ๋ฐ์ดํฐ ํ์ผ์ ์ ์ฅํ๋ค.
์ ์ถ๋ ฅ ํ์ผ ์ง์ ํ๋ ์ฝ๋
import os
# ์คํ ํ๋ก๊ทธ๋จ์ ๊ฒฝ๋ก
program_path = os.path.abspath(__file__)
# ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก - ์ด ์์ input, output ํด๋์์ ์
์ถ๋ ฅํ๋ค.
path = os.path.dirname(program_path)
# ์
๋ ฅํ์ผ, ์ถ๋ ฅํ์ผ
input_file = path + '/input/' + input('์
๋ ฅ ํ์ผ : ')
output_file = path + '/output/' + input('์ถ๋ ฅ ํ์ผ : ')
Python
๋ณต์ฌ
์์ ์ฝ๋๋ก, os ๋ชจ๋์ ์ฌ์ฉํ์ฌ ์์คํ
์ผ๋ก๋ถํฐ ์คํ๋ ํ๋ก๊ทธ๋จ์ ์ ๋ ๊ฒฝ๋ก๋ฅผ ๊ฐ์ ธ์ค๊ณ , ๊ทธ ๊ฒฝ๋ก๋ก๋ถํฐ ํ์ฌ ๋๋ ํฐ๋ฆฌ๋ฅผ ์์๋ธ๋ค.
๊ทธ๋ฆฌ๊ณ , ํ์ฌ ๋๋ ํฐ๋ฆฌ ์๋ ์ค๋นํ input, output ํด๋์ ์
๋ ฅํ ํ์ผ ๋ช
์ ์
๋ ฅ ๋ฐ์ ์
๋ ฅ ํ์ผ๊ณผ ์ถ๋ ฅ ํ์ผ์ ์ง์ ํ์ฌ ์ฌ์ฉํ๋ค.
ํน์ ํ์ ํํฐ๋งํ๊ธฐ
โข
์กฐ๊ฑด์ผ๋ก ํํฐ๋งํ๊ธฐ
โข
์งํฉ์ผ๋ก ํํฐ๋งํ๊ธฐ
โข
์ ๊ทํํ์์ผ๋ก ํํฐ๋งํ๊ธฐ
์กฐ๊ฑด์ผ๋ก ํํฐ๋งํ๊ธฐ
โข
csv ๋ชจ๋ ์ด์ฉ
โข
pandas ๋ชจ๋ ์ด์ฉ
csv ๋ชจ๋ ์ด์ฉ
import csv
import os
# ์คํ ํ๋ก๊ทธ๋จ์ ๊ฒฝ๋ก
program_path = os.path.abspath(__file__)
# ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก - ์ด ์์ input, output ํด๋์์ ์
์ถ๋ ฅํ๋ค.
path = os.path.dirname(program_path)
# ์
๋ ฅํ์ผ, ์ถ๋ ฅํ์ผ
input_file = os.path.join(path, 'input', input('์
๋ ฅ ํ์ผ : '))
output_file = os.path.join(path, 'output', input('์ถ๋ ฅ ํ์ผ : '))
with open(input_file, 'r', newline='') as csv_in_file:
with open(output_file, 'w', newline='') as csv_out_file:
filereader = csv.reader(csv_in_file) # csv ์ฝ๊ธฐ ๋ชจ๋ ๊ฐ์ฒด ์์ฑ
filewriter = csv.writer(csv_out_file) # csv ์ฐ๊ธฐ ๋ชจ๋ ๊ฐ์ฒด ์์ฑ
header = next(filereader) # ์ฒซ ํ์ ์
๋ ฅ
filewriter.writerow(header) # ์ฒซ ํ์ ์ถ๋ ฅ
for row_list in filereader:
supplier = str(row_list[0]).strip() # ๊ณต๊ธ์
์ฒด๋ช
cost = str(row_list[3]).strip('$').replace(',', '') # ๊ฐ๊ฒฉ
# ์กฐ๊ฑด์ผ๋ก ํน์ ํ ํํฐ
if supplier == 'Supplier Z' and float(cost) > 600.0:
filewriter.writerow(row_list)
Python
๋ณต์ฌ
pandas ๋ชจ๋ ์ด์ฉ
import pandas as pd
import os
# ์คํ ํ๋ก๊ทธ๋จ์ ๊ฒฝ๋ก
program_path = os.path.abspath(__file__)
# ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก - ์ด ์์ input, output ํด๋์์ ์
์ถ๋ ฅํ๋ค.
path = os.path.dirname(program_path)
# ์
๋ ฅํ์ผ, ์ถ๋ ฅํ์ผ
input_file = path + '/input/' + input('์
๋ ฅ ํ์ผ : ')
output_file = path + '/output/' + input('์ถ๋ ฅ ํ์ผ : ')
# csv ์ฝ์ด์ ๋ฐ์ดํฐํ๋ ์์ผ๋ก ๊ฐ์ ธ์จ๋ค
data_frame = pd.read_csv(input_file)
# Cost ์ด์์ $ ๊ธฐํธ๋ฅผ ์ ๊ฑฐ, float(์ซ์) ํ์
์ผ๋ก ๋ณํ (๋น๊ต์ฐ์ฐ์ ์ํด์)
data_frame['Cost'] = data_frame['Cost'].str.strip('$').astype(float)
# ํน์ ํ ํํฐ๋ง
# loc[ ํ ๋ผ๋ฒจ, ์ด ๋ผ๋ฒจ ]
# : ๋ฐ์ดํฐ ํ๋ ์์์ ์ง์ ํ ํ๊ณผ ์ด์ ์ ํํ ํจ์
data_frame_value_meets_condition = data_frame.loc[(data_frame['Supplier Name']\
.str.contains('Z')) | (data_frame['Cost'] > 600.0), :]
# โ OR : |, AND : &
# data_frame.loc[ (A | B), : ]
# : A ๋๋ B ์กฐ๊ฑด์ ๋ง์กฑํ๋ ํ์ ์ ํํ๊ณ , ๋ชจ๋ ์ด์ ์ ํ ํ๋ค.
# loc[ ํ๋ผ๋ฒจ, ์ด๋ผ๋ฒจ ]
# โ
ํน์ ํ ๋๋ ์ด์ ์ ํํ์ง ์๋๋ค๋ฉด : ์ผ๋ก ์๋ต๊ฐ๋ฅ
# | : OR ์ฐ์ฐ ( A ๋๋ B )
# (data_frame['Supplier Name']\.str.contains('Z'))
# 1 - ๋ฐ์ดํฐ ํ๋ ์์์ 'Supplier Name' ์ด์ ๋ฌธ์์ด๋ก ๊ฐ์ ธ์จ๋ค
# 2 - 'Supplier Name' ์ด์์ 'Z' ๊ฐ ํฌํจ๋ ์ฌ๋ถ๋ฅผ ๋ฐํํ๋ค. (True, False)
# (data_frame['Cost'] > 600.0)
# 1 - ๋ฐ์ดํฐ ํ๋ ์์์ 'Cost' ์ด์ ๊ฐ์ ธ์จ๋ค. (float)
# 2 - 600.0 ์ด๊ณผ์ธ ์ฌ๋ถ๋ฅผ ๋ฐํํ๋ค. (True, False)
# ๋ฐ์ดํฐํ๋ ์์ csv ํ์ผ๋ก ์ถ๋ ฅ
data_frame_value_meets_condition.to_csv(output_file, index=False)
Python
๋ณต์ฌ
์งํฉ์ผ๋ก ํํฐ๋งํ๊ธฐ
โข
csv ๋ชจ๋ ์ด์ฉ
โข
pandas ๋ชจ๋ ์ด์ฉ
csv ๋ชจ๋ ์ด์ฉ
import csv
import os
# ์คํ ํ๋ก๊ทธ๋จ์ ๊ฒฝ๋ก
program_path = os.path.abspath(__file__)
# ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก - ์ด ์์ input, output ํด๋์์ ์
์ถ๋ ฅํ๋ค.
path = os.path.dirname(program_path)
# ์
๋ ฅํ์ผ, ์ถ๋ ฅํ์ผ
input_file = path + '/input/' + input('์
๋ ฅ ํ์ผ : ')
output_file = path + '/output/' + input('์ถ๋ ฅ ํ์ผ : ')
important_dates = ['1/20/14', '1/30/14'] # ํน์ ๋ ์ง ์งํฉ์ ๋ฆฌ์คํธ๋ก ์ ์ธ
with open(input_file, 'r', newline='') as csv_in_file:
with open(output_file, 'w', newline='') as csv_out_file:
filereader = csv.reader(csv_in_file)
filewriter = csv.writer(csv_out_file)
header = next(filereader)
filewriter.writerow(header)
for row_list in filereader:
a_date = row_list[4] # ๊ตฌ๋งค์ผ์
if a_date in important_dates: # ํน์ ๋ฆฌ์คํธ์ ํฌํจ ์ฌ๋ถ ๋ฐํ
filewriter.writerow(row_list)
Python
๋ณต์ฌ
pandas ๋ชจ๋ ์ด์ฉ
import pandas as pd
import os
# ์คํ ํ๋ก๊ทธ๋จ์ ๊ฒฝ๋ก
program_path = os.path.abspath(__file__)
# ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก - ์ด ์์ input, output ํด๋์์ ์
์ถ๋ ฅํ๋ค.
path = os.path.dirname(program_path)
# ์
๋ ฅํ์ผ, ์ถ๋ ฅํ์ผ
input_file = path + '/input/' + input('์
๋ ฅ ํ์ผ : ')
output_file = path + '/output/' + input('์ถ๋ ฅ ํ์ผ : ')
data_frame = pd.read_csv(input_file)
important_dates = ['1/20/14', '1/30/14'] # ํน์ ๋ ์ง ์งํฉ์ ๋ฆฌ์คํธ๋ก ์ ์ธ
# ๋ฐ์ดํฐํ๋ ์.loc[ ํ๋ผ๋ฒจ, ์ด๋ผ๋ฒจ ]
# : ๋ฐ์ดํฐํ๋ ์์ ํน์ ํ ๋ฐ ์ด์ ์ ํํ๋ ํจ์
data_frame_value_in_set = data_frame.loc[data_frame['Purchase Date']\
.isin(important_dates), :]
# data_frame['Purchase Date'] : Series ๊ฐ์ฒด
# -> ๋ฐ์ดํฐ ํ๋ ์์์ ํน์ ์ด์ ์ ํํ๋ฉด ๊ทธ ๊ตฌ์กฐ๋ ์๋ฆฌ์ฆ๊ฐ ๋๋ค.
# isin()
# : ํด๋น Series ๊ฐ์ฒด์ ํน์ ๊ฐ์ด๋ ์งํฉ์ ์ํ๋์ง ์ฌ๋ถ๋ฅผ ๋ฐํ (True, False)
data_frame_value_in_set.to_csv(output_file, index=False)
Python
๋ณต์ฌ
์ ๊ทํํ์์ผ๋ก ํํฐ๋งํ๊ธฐ
โข
csv ๋ชจ๋ ์ด์ฉ
โข
pandas ๋ชจ๋ ์ด์ฉ
csv ๋ชจ๋ ์ด์ฉ
import csv
import re
import os
# ์คํ ํ๋ก๊ทธ๋จ์ ๊ฒฝ๋ก
program_path = os.path.abspath(__file__)
# ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก - ์ด ์์ input, output ํด๋์์ ์
์ถ๋ ฅํ๋ค.
path = os.path.dirname(program_path)
# ์
๋ ฅํ์ผ, ์ถ๋ ฅํ์ผ
input_file = path + '/input/' + input('์
๋ ฅ ํ์ผ : ')
output_file = path + '/output/' + input('์ถ๋ ฅ ํ์ผ : ')
# ์ ๊ท ํํ์ ํจํด ์ค์
pattern = re.compile(r'(?P<my_pattern_group>^001-.*)', re.I)
# re.I : ๋์๋ฌธ์ ๊ตฌ๋ถ ์์ด ๋งค์นญ
print('pattern : {}'.format( pattern ))
# ^001-.*
# 1 - ^001- : 001- ๋ก ์์ํ๋ ํจํด ๋งค์นญ
# 2 - .* : . ์ ํ๋ฌธ์ ๋์ฒด, * 0 ํ์ด์ โก ํ ๋ฌธ์ ์ด์ ๋งค์นญ
# โก 001- ๋ค์ ํ ๋ฌธ์ ์ด์์ธ ํจํด์ ๋งค์นญ
with open(input_file, 'r', newline='') as csv_in_file:
with open(output_file, 'w', newline='') as csv_out_file:
filereader = csv.reader(csv_in_file)
filewriter = csv.writer(csv_out_file)
header = next(filereader)
filewriter.writerow(header)
for row_list in filereader:
invoice_number = row_list[1] # invoice_number
if pattern.search(invoice_number): # ํจํด ํ์ธ
filewriter.writerow(row_list)
Python
๋ณต์ฌ
pandas ๋ชจ๋ ์ด์ฉ
import pandas as pd
import re
import os
# ์คํ ํ๋ก๊ทธ๋จ์ ๊ฒฝ๋ก
program_path = os.path.abspath(__file__)
# ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก - ์ด ์์ input, output ํด๋์์ ์
์ถ๋ ฅํ๋ค.
path = os.path.dirname(program_path)
# ์
๋ ฅํ์ผ, ์ถ๋ ฅํ์ผ
input_file = path + '/input/' + input('์
๋ ฅ ํ์ผ : ')
output_file = path + '/output/' + input('์ถ๋ ฅ ํ์ผ : ')
data_frame = pd.read_csv(input_file)
# ix[ , ]
# : deperecated (๋ ์ด์ ์ฌ์ฉ ๊ถ์ฅ) โก ๋ฒ์ ์
๋ฐ์ดํธ ๋๋ฉด์ ์๋ก ๋ค๋ฅธ ๋ฌธ๋ฒ์ด ๋์ฒด
# ix[ , ] โก loc[ , ]
# '001-' ๋ก ์์ํ๋ ํ์ ์ ํํ์ฌ ๋ฐํ
# condition = data_frame['Invoice Number'].str.startswith("001-")
# 'Z' ๋ก ๋๋๋ ํ์ ์ ํํ์ฌ ๋ฐํ
# condition = data_frame['Supplier Name'].str.endswith('Z')
# match(์ ๊ทํํ์) : ๋ฌธ์์ด์์ ์ ๊ทํํ์์ ๋ฐ๋ผ ํจํด ๋งค์นญ
pattern = re.compile(r'(?P<my_pattern_group>^001-.*)', re.I)
condition = data_frame['Invoice Number'].str.match(pattern)
data_frame_value_matches_pattern = data_frame.loc[ condition, : ]
data_frame_value_matches_pattern.to_csv(output_file, index=False)
Python
๋ณต์ฌ
ํน์ ์ด ์ ํํ๊ธฐ
โข
์ด์ ์ธ๋ฑ์ค๋ก ์ ํํ๊ธฐ
โข
์ด์ ํค๋๋ช
์ผ๋ก ์ ํํ๊ธฐ
์ด์ ์ธ๋ฑ์ค๋ก ์ ํํ๊ธฐ
โข
csv ๋ชจ๋ ์ด์ฉ
โข
pandas ๋ชจ๋ ์ด์ฉ
csv ๋ชจ๋ ์ด์ฉ
import csv
import os
# ์คํ ํ๋ก๊ทธ๋จ์ ๊ฒฝ๋ก
program_path = os.path.abspath(__file__)
# ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก - ์ด ์์ input, output ํด๋์์ ์
์ถ๋ ฅํ๋ค.
path = os.path.dirname(program_path)
# ์
๋ ฅํ์ผ, ์ถ๋ ฅํ์ผ
input_file = path + '/input/' + input('์
๋ ฅ ํ์ผ : ')
output_file = path + '/output/' + input('์ถ๋ ฅ ํ์ผ : ')
# 0, 3 ๋ฒ ์ธ๋ฑ์ค์ ํด๋นํ๋ ์ด์ ์ ํํ๊ธฐ ์ํ ๋ฆฌ์คํธ
my_columns = [0, 3]
with open(input_file, 'r', newline='') as csv_in_file:
with open(output_file, 'w', newline='') as csv_out_file:
filereader = csv.reader(csv_in_file)
filewriter = csv.writer(csv_out_file)
for row_list in filereader:
row_list_output = [ ]
# my_columns ๋ฆฌ์คํธ ๋ฐ๋ณต - index_value : 0, 3
for index_value in my_columns:
# row_list[0] : ๊ณต๊ธ์๋ช
(supplier name)
# row_list[3] : ๊ฐ๊ฒฉ(cost)
row_list_output.append(row_list[index_value])
filewriter.writerow(row_list_output)
Python
๋ณต์ฌ
pandas ๋ชจ๋ ์ด์ฉ
import pandas as pd
import os
# ์คํ ํ๋ก๊ทธ๋จ์ ๊ฒฝ๋ก
program_path = os.path.abspath(__file__)
# ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก - ์ด ์์ input, output ํด๋์์ ์
์ถ๋ ฅํ๋ค.
path = os.path.dirname(program_path)
# ์
๋ ฅํ์ผ, ์ถ๋ ฅํ์ผ
input_file = path + '/input/' + input('์
๋ ฅ ํ์ผ : ')
output_file = path + '/output/' + input('์ถ๋ ฅ ํ์ผ : ')
data_frame = pd.read_csv(input_file)
# loc[ ํ๋ผ๋ฒจ , ์ด๋ผ๋ฒจ ]
# : ํ๋ผ๋ฒจ, ์ด๋ผ๋ฒจ์ผ๋ก ๋ฐ์ดํฐ ์ ํ
# iloc[ ํindex, ์ดindex ]
# index + location - index ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐํ๋ ์์ ํ๊ณผ ์ด์ ์ ํํ๋ ํจ์
# iloc[ ํ , ์ด [0,3] ]
# : 0, 3 ๋ฒ index ์ ํด๋นํ๋ ์ด์ ์ ํ
# data_frame_column_by_index = data_frame.iloc[:, [0, 3]]
# 1~3์ด (Supplier Name,Invoice Number,Part Number)๋ฅผ ์ ํ
# - ๋ฆฌ์คํธ์ ์ง์ ํ index ๋ฅผ ๋ด์์ ์ ํ
# data_frame_column_by_index = data_frame.iloc[:, [0, 1, 2] ]
# - index ๋ฒ์๋ก ์ ํ
data_frame_column_by_index = data_frame.iloc[:, 0:3 ]
data_frame_column_by_index.to_csv(output_file, index=False)
Python
๋ณต์ฌ
์ด์ ํค๋๋ช ์ผ๋ก ์ ํํ๊ธฐ
โข
csv ๋ชจ๋ ์ด์ฉ
โข
pandas ๋ชจ๋ ์ด์ฉ
csv ๋ชจ๋ ์ด์ฉ
import csv
import os
# ์คํ ํ๋ก๊ทธ๋จ์ ๊ฒฝ๋ก
program_path = os.path.abspath(__file__)
# ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก - ์ด ์์ input, output ํด๋์์ ์
์ถ๋ ฅํ๋ค.
path = os.path.dirname(program_path)
# ์
๋ ฅํ์ผ, ์ถ๋ ฅํ์ผ
input_file = path + '/input/' + input('์
๋ ฅ ํ์ผ : ')
output_file = path + '/output/' + input('์ถ๋ ฅ ํ์ผ : ')
my_columns = ['Invoice Number', 'Purchase Date']
my_columns_index = []
with open(input_file, 'r', newline='') as csv_in_file:
with open(output_file, 'w', newline='') as csv_out_file:
filereader = csv.reader(csv_in_file)
filewriter = csv.writer(csv_out_file)
header = next(filereader)
for index_value in range(len(header)):
if header[index_value] in my_columns:
my_columns_index.append(index_value) # [ 1, 4 ]
filewriter.writerow(my_columns)
for row_list in filereader:
row_list_output = [ ]
for index_value in my_columns_index:
row_list_output.append(row_list[index_value])
filewriter.writerow(row_list_output)
Python
๋ณต์ฌ
pandas ๋ชจ๋ ์ด์ฉ
import pandas as pd
import os
# ์คํ ํ๋ก๊ทธ๋จ์ ๊ฒฝ๋ก
program_path = os.path.abspath(__file__)
# ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก - ์ด ์์ input, output ํด๋์์ ์
์ถ๋ ฅํ๋ค.
path = os.path.dirname(program_path)
# ์
๋ ฅํ์ผ, ์ถ๋ ฅํ์ผ
input_file = path + '/input/' + input('์
๋ ฅ ํ์ผ : ')
output_file = path + '/output/' + input('์ถ๋ ฅ ํ์ผ : ')
data_frame = pd.read_csv(input_file)
# ์ ํํ ์ด ๋ฆฌ์คํธ
select_list = ['Invoice Number', 'Purchase Date']
# loc[ ํ๋ผ๋ฒจ, ์ด๋ผ๋ฒจ ]
data_frame_column_by_name = data_frame.loc[ :, select_list ]
data_frame_column_by_name.to_csv(output_file, index=False)
Python
๋ณต์ฌ
์ฐ์๋ ํ ์ ํํ๊ธฐ
โข
csv ๋ชจ๋ ์ด์ฉ
โข
pandas ๋ชจ๋ ์ด์ฉ
csv ๋ชจ๋ ์ด์ฉ
import csv
import os
# ์คํ ํ๋ก๊ทธ๋จ์ ๊ฒฝ๋ก
program_path = os.path.abspath(__file__)
# ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก - ์ด ์์ input, output ํด๋์์ ์
์ถ๋ ฅํ๋ค.
path = os.path.dirname(program_path)
# ์
๋ ฅํ์ผ, ์ถ๋ ฅํ์ผ
input_file = path + '/input/' + input('์
๋ ฅ ํ์ผ : ')
output_file = path + '/output/' + input('์ถ๋ ฅ ํ์ผ : ')
row_counter = 0
with open(input_file, 'r', newline='') as csv_in_file:
with open(output_file, 'w', newline='') as csv_out_file:
filereader = csv.reader(csv_in_file)
filewriter = csv.writer(csv_out_file)
for row in filereader:
# index 3~10 ๊น์ง ์ฐ์๋ ํ ์ ํ
if row_counter >= 3 and row_counter <= 10:
filewriter.writerow([value.strip() for value in row])
row_counter += 1
Python
๋ณต์ฌ
pandas ๋ชจ๋ ์ด์ฉ
import pandas as pd
import os
# ์คํ ํ๋ก๊ทธ๋จ์ ๊ฒฝ๋ก
program_path = os.path.abspath(__file__)
# ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก - ์ด ์์ input, output ํด๋์์ ์
์ถ๋ ฅํ๋ค.
path = os.path.dirname(program_path)
# ์
๋ ฅํ์ผ, ์ถ๋ ฅํ์ผ
input_file = path + '/input/' + input('์
๋ ฅ ํ์ผ : ')
output_file = path + '/output/' + input('์ถ๋ ฅ ํ์ผ : ')
data_frame = pd.read_csv(input_file, header=None)
print('์ญ์ ์ ')
print(data_frame)
header = data_frame.iloc[0]
# drop()
# : ๋ฐ์ดํฐํ๋ ์์ ํน์ ํ์ ์ญ์ ํ๋ ํจ์
data_frame = data_frame.drop([0,1,2,3,4])
print('์ญ์ ํ')
print(data_frame)
# iloc[0]
# : index๋ฅผ ๊ธฐ์ค์ผ๋ก ํน์ ํ,์ด์ ์ ํํ๋ ํจ์
data_frame.columns = header
print('iloc[0] ์ดํ')
print(data_frame)
# reindex()
# : ๋ฐ์ดํฐํ๋ ์์์ ํ์ ์ฌ๊ตฌ์ฑํ๋ ํจ์
# data_frame.reindex(data_frame.index.drop(3))
# - ์ธ๋ฑ์ค 3์ธ ํ์ ์ญ์ ํ, ์ญ์ ๋ ์๋ก์ด ๋ฐ์ดํฐํ๋ ์์ ์ฌ๊ตฌ์ฑํ์ฌ ๋ฐํ
# new_index = range( len(data_frame) ) # range( 8 ) -> (0:7)
# data_frame = data_frame.reindex([0,1,2,3,4,5,6,7])
# print('reindex() : ์ธ๋ฑ์ค ์ฌ๊ตฌ์ฑ ํ')
# print(data_frame)
# ์ธ๋ฑ์ค ์ฌ๊ตฌ์ฑ
data_frame.reset_index(drop=True, inplace=True)
# data_frame.reset_index()
print('reset_index() ')
print(data_frame)
data_frame.to_csv(output_file, index=True)
Python
๋ณต์ฌ
ํค๋ ์ถ๊ฐํ๊ธฐ
โข
csv ๋ชจ๋ ์ด์ฉ
โข
pandas ๋ชจ๋ ์ด์ฉ
csv ๋ชจ๋ ์ด์ฉ
import csv
import os
# ์คํ ํ๋ก๊ทธ๋จ์ ๊ฒฝ๋ก
program_path = os.path.abspath(__file__)
# ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก - ์ด ์์ input, output ํด๋์์ ์
์ถ๋ ฅํ๋ค.
path = os.path.dirname(program_path)
# ์
๋ ฅํ์ผ, ์ถ๋ ฅํ์ผ
input_file = path + '/input/' + input('์
๋ ฅ ํ์ผ : ')
output_file = path + '/output/' + input('์ถ๋ ฅ ํ์ผ : ')
with open(input_file, 'r', newline='') as csv_in_file:
with open(output_file, 'w', newline='') as csv_out_file:
filereader = csv.reader(csv_in_file)
filewriter = csv.writer(csv_out_file)
header_list = ['Supplier Name', 'Invoice Number', \
'Part Number', 'Cost', 'Purchase Date']
filewriter.writerow(header_list)
for row in filereader:
filewriter.writerow (row)
Python
๋ณต์ฌ
pandas ๋ชจ๋ ์ด์ฉ
import pandas as pd
import os
# ์คํ ํ๋ก๊ทธ๋จ์ ๊ฒฝ๋ก
program_path = os.path.abspath(__file__)
# ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก - ์ด ์์ input, output ํด๋์์ ์
์ถ๋ ฅํ๋ค.
path = os.path.dirname(program_path)
# ์
๋ ฅํ์ผ, ์ถ๋ ฅํ์ผ
input_file = path + '/input/' + input('์
๋ ฅ ํ์ผ : ')
output_file = path + '/output/' + input('์ถ๋ ฅ ํ์ผ : ')
header_list = ['Supplier Name', 'Invoice Number', \
'Part Number', 'Cost', 'Purchase Date']
# header=None : ํค๋ ์์ด ์
๋ ฅ
# names=[์ถ๊ฐํ ํค๋] : ํค๋๋ฅผ ์ถ๊ฐํด ์
๋ ฅ
data_frame = pd.read_csv(input_file, header=None, names=header_list)
data_frame.to_csv(output_file, index=False)
Python
๋ณต์ฌ
์ฌ๋ฌ ๊ฐ์ CSV ํ์ผ ์ฝ๊ธฐ
โข
csv ๋ชจ๋ ์ด์ฉ
csv ๋ชจ๋ ์ด์ฉ
import csv
import glob
import os
# ์คํ ํ๋ก๊ทธ๋จ์ ๊ฒฝ๋ก
program_path = os.path.abspath(__file__)
# ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก - ์ด ์์ input, output ํด๋์์ ์
์ถ๋ ฅํ๋ค.
path = os.path.dirname(program_path)
# ์
๋ ฅํ์ผ, ์ถ๋ ฅํ์ผ
input_path = path + '/input/'
file_counter = 0
# glob.glob() ํจ์๋ก, input_path์์ sales_๋ก ์์ํ๋ ๋ชจ๋ ํ์ผ์ ๊ฒฝ๋ก๋ฅผ ์์ฑ
for input_file in glob.glob(os.path.join(input_path,'sales_*')):
row_counter = 1 # ๊ฐ ํ์ผ์ ํ ์๋ฅผ ์ธ๊ธฐ ์ํ ๋ณ์ ์ด๊ธฐํ
with open(input_file, 'r', newline='') as csv_in_file:
filereader = csv.reader(csv_in_file)
header = next(filereader) # ์ฒซ ๋ฒ์งธ ํ์ ํค๋
for row in filereader:
row_counter += 1 # ๊ฐ ํ๋ง๋ค ํ ์ ์ฆ๊ฐ
# ํ์ผ ์ด๋ฆ, ํ ์, ์ด ์ ์ถ๋ ฅ
print('{0!s}: \t{1:d} rows \t{2:d} columns'.format(\
os.path.basename(input_file), row_counter, len(header)))
file_counter += 1 # ํ์ผ ์ ์ฆ๊ฐ
print('Number of files: {0:d}'.format(file_counter)) # ์ด ํ์ผ ์ ์ถ๋ ฅ
Python
๋ณต์ฌ
์ฌ๋ฌ ํ์ผ์ ๋ฐ์ดํฐ ํฉ์น๊ธฐ
โข
csv ๋ชจ๋ ์ด์ฉ
โข
pandas ๋ชจ๋ ์ด์ฉ
csv ๋ชจ๋ ์ด์ฉ
import csv
import glob
import os
# ์คํ ํ๋ก๊ทธ๋จ์ ๊ฒฝ๋ก
program_path = os.path.abspath(__file__)
# ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก - ์ด ์์ input, output ํด๋์์ ์
์ถ๋ ฅํ๋ค.
path = os.path.dirname(program_path)
# ์
๋ ฅํ์ผ, ์ถ๋ ฅํ์ผ
input_path = path + '/input/'
output_file = path + '/output/' + input('์ถ๋ ฅ ํ์ผ : ')
first_file = True
# glob ๋ชจ๋์ ์ฌ์ฉํด์, * ๋ฑ์ ์์ผ๋์นด๋๋ก ์ฌ๋ฌ ํ์ผ์ ๋งค์นํด์ ๊ฐ์ ธ์จ๋ค
for input_file in glob.glob(os.path.join(input_path,'sales_*')):
print(os.path.basename(input_file))
with open(input_file, 'r', newline='') as csv_in_file:
with open(output_file, 'a', newline='') as csv_out_file:
filereader = csv.reader(csv_in_file)
filewriter = csv.writer(csv_out_file)
if first_file:
for row in filereader:
filewriter.writerow(row)
first_file = False
else:
header = next(filereader)
for row in filereader:
filewriter.writerow(row)
Python
๋ณต์ฌ
pandas ๋ชจ๋ ์ด์ฉ
import pandas as pd
import glob
import os
program_path = os.path.abspath(__file__)
path = os.path.dirname(program_path)
# ์
๋ ฅ๊ฒฝ๋ก, ์ถ๋ ฅํ์ผ
input_path = path + '/input/'
output_file = path + '/output/' + input('์ถ๋ ฅ ํ์ผ : ')
# glob.glob() ํจ์๋ก, input_path์์ sales_๋ก ์์ํ๋ ๋ชจ๋ ํ์ผ์ ๊ฒฝ๋ก๋ฅผ ์์ฑ
all_files = glob.glob(os.path.join(input_path,'sales_*'))
all_data_frames = []
# ์ฌ๋ฌ ํ์ผ ๊ฒฝ๋ก๋ค์ ๋ฐ๋ณตํ์ฌ csv ํ์ผ์ ์
๋ ฅ
for file in all_files:
data_frame = pd.read_csv(file, index_col=None) # CSV ํ์ผ ์
๋ ฅ
all_data_frames.append(data_frame) # ๋ฆฌ์คํธ์ ๋ฐ์ดํฐ ํ๋ ์ ์ถ๊ฐ
# concat() ํจ์๋ก ๋ฐ์ดํฐํ๋ ์ ๋ฆฌ์คํธ๋ฅผ ํ๋์ ๋ฐ์ดํฐํ๋ ์์ผ๋ก ๋ณํฉ
data_frame_concat = pd.concat(all_data_frames, axis=0, ignore_index=True)
# ๋ฐ์ดํฐํ๋ ์์ CSV ํ์ผ๋ก ์ถ๋ ฅ
data_frame_concat.to_csv(output_file, index = False)
Python
๋ณต์ฌ
ํ์ผ์์ ๋ฐ์ดํฐ ๊ฐ์ ํฉ๊ณ ๋ฐ ํ๊ท ๊ณ์ฐํ๊ธฐ
โข
csv ๋ชจ๋ ์ด์ฉ
โข
pandas ๋ชจ๋ ์ด์ฉ
csv ๋ชจ๋ ์ด์ฉ
import csv
import glob
import os
program_path = os.path.abspath(__file__)
path = os.path.dirname(program_path)
# ์
๋ ฅ๊ฒฝ๋ก, ์ถ๋ ฅํ์ผ
input_path = path + '/input/'
output_file = path + '/output/' + input('์ถ๋ ฅ ํ์ผ : ')
output_header_list = ['file_name', 'total_sales', 'average_sales']
csv_out_file = open(output_file, 'a', newline='')
filewriter = csv.writer(csv_out_file)
filewriter.writerow(output_header_list)
# "sales_" ๋ก ์์ํ๋ ์ฌ๋ฌ ํ์ผ ๊ฒฝ๋ก ์์ฑ
for input_file in glob.glob(os.path.join(input_path,'sales_*')):
# salse_2013.csv, salse_2014.csv, ... ์ฐจ๋ก๋ก ์ฝ์ด์ด
with open(input_file, 'r', newline='') as csv_in_file:
filereader = csv.reader(csv_in_file)
output_list = [ ]
# ์ฝ์ด์จ CSV ํ์ผ๊ฒฝ๋ก๋ฅผ ์ถ๋ ฅ ๋ฐ์ดํฐ ๋ฆฌ์คํธ์ ์ถ๊ฐ
output_list.append(os.path.basename(input_file))
header = next(filereader)
# ํฉ๊ณ, ๊ฐ์ ๋ณ์ ์ ์ธ
total_sales = 0.0
number_of_sales = 0.0
for row in filereader:
sale_amount = row[3]
# ํฉ๊ณ ๊ณ์ฐ
total_sales += float(str(sale_amount).strip('$').replace(',',''))
# ๊ฐ์ ์นด์ดํ
number_of_sales += 1.0
# ํ๊ท ๊ณ์ฐ
average_sales = '{0:.2f}'.format(total_sales / number_of_sales)
# ์ถ๋ ฅ ๋ฐ์ดํฐ ๋ฆฌ์คํธ์ ํฉ๊ณ ์ถ๊ฐ
output_list.append(total_sales)
# ์ถ๋ ฅ ๋ฐ์ดํฐ ๋ฆฌ์คํธ์ ํ๊ท ์ถ๊ฐ
output_list.append(average_sales)
# [์
๋ ฅํ์ผ๋ช
.csv,ํฉ๊ณ,ํ๊ท ] ํ์์ผ๋ก ํ ์ค ์ถ๋ ฅ
filewriter.writerow(output_list)
csv_out_file.close()
Python
๋ณต์ฌ
pandas ๋ชจ๋ ์ด์ฉ
import pandas as pd
import glob
import os
program_path = os.path.abspath(__file__)
path = os.path.dirname(program_path)
# ์
๋ ฅ๊ฒฝ๋ก, ์ถ๋ ฅํ์ผ
input_path = path + '/input/'
output_file = path + '/output/' + input('์ถ๋ ฅ ํ์ผ : ')
all_files = glob.glob(os.path.join(input_path,'sales_*'))
all_data_frames = []
for input_file in all_files:
data_frame = pd.read_csv(input_file, index_col=None)
# ํฉ๊ณ
# 1. ๋ฐ์ดํฐ ํ๋ ์์์ Sales Amount ์ด ์ ํ
# 2. ๋ฆฌ์คํธ ๋ดํฌ๋ก ๋ฐ์ดํฐ์์ $ ๋ฐ , ๊ธฐํธ ์ ๊ฑฐ
# 3. ํ๋ค์ค DataFrame์ sum() ํจ์๋ก ๋ฆฌ์คํธ์ ํฉ๊ณ ๊ตฌํจ
total_sales = pd.DataFrame([float(str(value).strip('$').replace(',','')) \
for value in data_frame.loc[:, 'Sale Amount']]).sum()
# ํ๊ท
# 1. ๋ฐ์ดํฐ ํ๋ ์์์ Sales Amount ์ด ์ ํ
# 2. ๋ฆฌ์คํธ ๋ดํฌ๋ก ๋ฐ์ดํฐ์์ $ ๋ฐ , ๊ธฐํธ ์ ๊ฑฐ
# 3. ํ๋ค์ค DataFrame์ mean() ํจ์๋ก ๋ฆฌ์คํธ์ ํ๊ท ๊ตฌํจ
average_sales = pd.DataFrame([float(str(value).strip('$').replace(',','')) \
for value in data_frame.loc[:, 'Sale Amount']]).mean()
# data ๋์
๋๋ฆฌ ์ ์ธ
data = {'file_name': os.path.basename(input_file),
'total_sales': total_sales,
'average_sales': average_sales}
# data ๋์
๋๋ฆฌ๋ก ์ปฌ๋ผ๋ช
์ ์ง์ ํ์ฌ, ๋ฐ์ดํฐ ํ๋ ์ ๋ฆฌ์คํธ์ ํ CSV ํ์ผ์ ํฉ๊ณ ๋ฐ ํ๊ท ์ถ๊ฐ
all_data_frames.append(pd.DataFrame(data, columns=['file_name', 'total_sales', 'average_sales']))
# ๋ฐ์ดํฐ ํ๋ ์ ๋ฆฌ์คํธ(๊ฐ CSV ํ์ผ์ ํฉ๊ณํ๊ท ๋ฆฌ์คํธ)๋ฅผ ํ๋์ ๋ฐ์ดํฐ ํ๋ ์์ผ๋ก ๋ณํฉ
data_frames_concat = pd.concat(all_data_frames, axis=0, ignore_index=True)
# ๋ฐ์ดํฐ ํ๋ ์์ CSV ํ์ผ๋ก ์ถ๋ ฅ
data_frames_concat.to_csv(output_file, index = False)
Python
๋ณต์ฌ