๋๊ฐ ์ฐ์ฃผ ํํ๊ฐ์ด๊ณ ๋ฐ์ดํฐ๋ ๋์ ๋ณ ์ง๋๋ผ๊ณ ์์ํด๋ด. ๊ทธ๊ฒ์ ์ปค๋ค๋๊ณ , ํผ๋์ค๋ฝ๊ณ , ์ ๋์ ์ผ๋ก ํ์ํ ๊ฑฐ์ผ. ์ ์คํ๊ฒ ํํฐ๋งํ๊ณ ๋ถ์ํ ํ์๋ ์ด ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ธฐ ์ฌ์ด ํ์์ผ๋ก ์ ๋ฆฌํ๊ณ ์ ์ฅํด์ผ ํด. ์ด๋ ์ฐ๋ฆฌ์ ์์ , Excel๋ก์ ๋ฐ์ดํฐ ๋ด๋ณด๋ด๊ธฐ๊ฐ ๋ฑ์ฅํ์ง. ์ด ๊ธฐ๋ฅ์ ํตํด ๋๋ฃ๋ค๊ณผ ๋ฐ๊ฒฌ์ ๊ณต์ ํ๊ฑฐ๋ ์ค์ํ ํ์ ๋ณด๊ณ ์๋ฅผ ์ค๋นํ ์ ์์ด. ๋ฐ์ดํฐ๊ฐ ์๋ก์ด ์์ ๊ฐ ๋ ์ธ์์์, ๋จ ๋ช ์ค์ ์ฝ๋๋ก ๋ณด๊ณ ์๋ฅผ ๋ง๋๋ ๊ธฐ์ ์ ์๋ฐฑ๋ง์ ๊ฐ์น๊ฐ ์์ ์ ์์ด.
1. ๋ฐ์ดํฐ ๋ด๋ณด๋ด๊ธฐ์ ๊ธฐ๋ณธ์ ์ธ ์ธก๋ฉด
Excel๋ก ๋ฐ์ดํฐ ๋ด๋ณด๋ด๊ธฐ๋ ๋จ์ํ ํ ํ์์์ ๋ค๋ฅธ ํ์์ผ๋ก ๋ณํํ๋ ๊ฒ ์๋์ผ. ๋ณด๊ณ ์๋ฅผ ์ฌ์ฉ์ ์นํ์ ์ด๊ณ ์ดํดํ๊ธฐ ์ฝ๊ฒ ์กฐ์ ํ ์ ์๋ ๊ธฐํ๊ฑฐ๋ . ๋ด ํ๋ก๊ทธ๋๋จธ ์น๊ตฌ๊ฐ ํ ๋ฒ ๋งํ์ง: "ํ์ด์ฌ์ ๋ง๋ฒ์ ๋ถ๋ฆด ์ ์์ง๋ง, ํด๋ฆฌ ํฌํฐ๋ ์งํก์ด๊ฐ ํ์ํ๋ค". ์ฐ๋ฆฌ ๊ฒฝ์ฐ ์งํก์ด๋ to_excel
๋ฉ์๋์ด๊ณ , pandas
๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํฌํจ๋์ด ์์ด.
to_excel
๊ธฐ๋ณธ
DataFrame
์์ Excel ํ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ด๋ณด๋ด๋ ๊ฐ๋จํ ์์ ๋ฅผ ์์ํด ๋ณผ๊ฒ. ์๋ฅผ ๋ค์ด, ๋ง๋ผํค ์ฐธ๊ฐ์๋ค์ ๋ฐ์ดํฐ๊ฐ ์๋ DataFrame
์ด ์๋ค๊ณ ํด๋ณด์:
import pandas as pd
# DataFrame ์์ฑ
data = {
'์ด๋ฆ': ['์๋', '๋ณด๋ฆฌ์ค', '๋น
ํ ๋ฅด', '๊ฐ๋ฆฌ๋'],
'๋์ด': [29, 34, 22, 28],
'๋์': ['๋ชจ์คํฌ๋ฐ', '์ํธํํ
๋ฅด๋ถ๋ฅดํฌ', '์นด์', '๋
ธ๋ณด์๋น๋ฅด์คํฌ'],
'์์ฃผ ์๊ฐ': ['03:15:30', '03:45:10', '03:25:45', '03:50:05']
}
df = pd.DataFrame(data)
# DataFrame์ Excel์ ๋ด๋ณด๋ด๊ธฐ
df.to_excel('marathon_participants.xlsx', index=False)
์ด ์์ ์์ ๋จ์ํ DataFrame
์ ๋ง๋ค์ด ํ์ผ marathon_participants.xlsx
๋ก ๋ด๋ณด๋์ด. index=False
๋งค๊ฐ๋ณ์๋ฅผ ์ค์ ํด์ ํ์ํ์ง ์๋ค๋ฉด DataFrame
์ ์ธ๋ฑ์ค๋ฅผ Excel๋ก ๋ด๋ณด๋ด์ง ์๋๋ก ํ๋ค๋ ์ ์ ์ฃผ๋ชฉํด.
ํ์๊ณผ ์คํ์ผ ์ถ๊ฐํ๊ธฐ
๋ค์ ๋จ๊ณ๋ก ๋์ด๊ฐ์. ์คํ์ผ์ ์ถ๊ฐํด๋ณด์. ๋ฐ์ดํฐ๋ฅผ ๋ฉ์ง๊ฒ ํํํ ์ ์๋ ์ฌ๋์ ์์ด! pandas
์ openpyxl
์ ์ฌ์ฉํ๋ฉด ํ๋ฅผ ์ฝ๊ฒ ํฌ๋งทํ๊ณ ์คํ์ผ์ ์ถ๊ฐํ ์ ์์ด.
import pandas as pd
from openpyxl import Workbook
# DataFrame ์์ฑ
data = {
'์ด๋ฆ': ['์๋', '๋ณด๋ฆฌ์ค', '๋น
ํ ๋ฅด', '๊ฐ๋ฆฌ๋'],
'๋์ด': [29, 34, 22, 28],
'๋์': ['๋ชจ์คํฌ๋ฐ', '์ํธํํ
๋ฅด๋ถ๋ฅดํฌ', '์นด์', '๋
ธ๋ณด์๋น๋ฅด์คํฌ'],
'์์ฃผ ์๊ฐ': ['03:15:30', '03:45:10', '03:25:45', '03:50:05']
}
df = pd.DataFrame(data)
# ํ์์ ์ถ๊ฐํ์ฌ Excel์ ์ฐ๊ธฐ
with pd.ExcelWriter('styled_marathon.xlsx', engine='openpyxl') as writer:
df.to_excel(writer, index=False, sheet_name='์ฐธ๊ฐ์')
worksheet = writer.sheets['์ฐธ๊ฐ์']
for col in worksheet.columns:
max_length = 0
column = col[0].column_letter # ์ด์ ์ํ๋ฒณ ํ์ ๊ฐ์ ธ์ค๊ธฐ
for cell in col:
try:
if len(str(cell.value)) > max_length:
max_length = len(cell.value)
except:
pass
adjusted_width = (max_length + 2) * 1.2
worksheet.column_dimensions[column].width = adjusted_width
์ด ์์ ์์๋ ๋ฐ์ดํฐ๋ฅผ ๋ด๋ณด๋ด๊ธฐ๋ง ํ๋ ๊ฒ์ด ์๋๋ผ, ๋ด์ฉ์ ๋ง๊ฒ ์ด ๋๋น๋ฅผ ์กฐ์ ํ์ฌ Excel์์ ๋ ๊น๋ํ๊ฒ ๋ณด์ด๋๋ก ํ์ด. openpyxl
์ ์ฌ์ฉํด์ ์ํธ์ ์ ๊ทผํ๊ณ ์คํ์ผ์ ์ ์ฉํ์ด.
๋ค์ค ์ํธ ์์
์ฌ๋ฌ ์ํธ๋ฅผ ๊ฐ์ง ๋ณด๊ณ ์๋ฅผ ๋ง๋๋ ๊ฒ์ ์ํผ๋งจ์ ์๋ฌด์ฒ๋ผ ๋ค๋ฆด ์ ์์ง๋ง ์ค์ ๋ก๋ ๋งค์ฐ ๊ฐ๋จํด. ์๋ฅผ ๋ค์ด, ์ฐ๋๋ณ๋ก ๋ค๋ฅธ ๋ํ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๋ณ ์ํธ์ ์ ์ฅํ๊ณ ์ถ๋ค๊ณ ์์ํด๋ด.
import pandas as pd
# ์ฐ๋๋ณ ๋ฐ์ดํฐ
data_2022 = {
'์ด๋ฆ': ['๋๋ฏธํธ๋ฆฌ', '์๋ ๋'],
'๋์ด': [30, 29],
'๋์': ['์ด์คํฌ', '๋ธ๋ผ๋๋ณด์คํก'],
'์์ฃผ ์๊ฐ': ['03:20:05', '03:35:40']
}
data_2023 = {
'์ด๋ฆ': ['์ด๊ณ ๋ฅด', '์นดํ
๋ฆฌ๋'],
'๋์ด': [31, 27],
'๋์': ['์ฒผ๋ด๋น์คํฌ', '์์นดํ
๋ฆฐ๋ถ๋ฅดํฌ'],
'์์ฃผ ์๊ฐ': ['03:29:10', '03:40:20']
}
df_2022 = pd.DataFrame(data_2022)
df_2023 = pd.DataFrame(data_2023)
# ์ฌ๋ฌ ์ํธ์ ๋ฐ์ดํฐ ์ฐ๊ธฐ
with pd.ExcelWriter('marathon_data.xlsx') as writer:
df_2022.to_excel(writer, sheet_name='2022', index=False)
df_2023.to_excel(writer, sheet_name='2023', index=False)
์ด ์ฝ๋๋ marathon_data.xlsx
ํ์ผ์ ๋ง๋ค๊ณ , ๋ ๊ฐ์ ์ํธ์ ์ฐ๋๋ณ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํด. ์ฐ๋, ํ๋ก์ ํธ ๋๋ ๊ธฐํ ๋ฒ์ฃผ๋ณ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฆฌํ ๋ ๋งค์ฐ ํธ๋ฆฌํด.
2. ํญ์ ๊ฐ์ ์ ์ฌ์ง๊ฐ ์์ด
๋ด๋ณด๋ด๊ธฐ ์๋ํ๋ฅผ ํ๋ก์ ํธ์ ๋ณต์กํ ํ๋ก์ธ์ค์ ์ด๋ป๊ฒ ํตํฉํ ์ ์์์ง ์๊ฐํด๋ด. ๋ด๋ณด๋ธ ํ์ ์ฐจํธ๋ฅผ ์๋์ผ๋ก ์์ฑํ๊ฑฐ๋, ์ ๊ทผ์ฑ์ ์ํด ์น ์ธํฐํ์ด์ค์ ๋ณด๊ณ ์๋ฅผ ํตํฉํ๊ณ ์ถ์ ๋ง์์ด ๋ค ์๋ ์์ด.
์ด์จ๋ , Excel๋ก ๋ฐ์ดํฐ ๋ด๋ณด๋ด๊ธฐ๋ ๋ณด๊ธฐ ์ข๊ณ ์ ๋ณด๊ฐ ๋ง์ ๋ณด๊ณ ์๋ฅผ ๋ง๋๋ ์ฒซ ๊ฑธ์์ผ ๋ฟ์ด์ผ. ์ด ๋ณด๊ณ ์ ๋๋ถ์ ์ง์ฅ์ด๋ ํ์ ์์ ๋ฐ์ดํฐ ๋ถ์์ ์คํ๊ฐ ๋ ์ ์์ ๊ฑฐ์ผ!
์ด์ ๋ฐ์ดํฐ ๋ด๋ณด๋ด๊ธฐ๋ฅผ ์๋ํํ๋ ๋๊ตฌ๋ฅผ ๊ฐ์ถ์์ผ๋, Excel์์ ๋ณด๊ณ ์๋ฅผ ๋ ์ฝ๊ธฐ ์ฝ๊ณ ํ๋ ์ ํ ์ด์ ์ ์ ํฉํ๊ฒ ๋ง๋๋ ๋ฐฉ๋ฒ๋ ์๊ฒ ๋์์ด. ๊ทธ๋ฌ๋ ์์ผ๋ก ๋์๊ฐ๊ณ , ๋์ ๋ฐ์ดํฐ๊ฐ ํญ์ ๋๋ฅผ ์ํด ์ผํ๋๋ก ๋ง๋ค์ด๋ด!
GO TO FULL VERSION