파일로 부터 데이터를 읽을 때 read_###함수를 사용했던 것과 반대로 to_###를 사용해 주면 된다.

CSV 파일로 저장

import pandas as pd

warship_data = [
    ["Dresden", "Germany", "Cruiser", 1],
    ["Karlsruhe", "Germany", "Cruiser", 3],
    ["Königsberg", "Germany", "Cruiser", 4],
    ["Kaiser", "Germany", "Battleship", 3],
    ["Bayern", "Germany", "Battleship", 5],
    ["König", "Germany", "Battleship", 4],
    ["Bismarck", "Germany", "Battleship", 7],
    ["Saint-Louis", "USA", "Cruiser", 2],
    ["Fubuki", "Japan", "Destoyer", 5],
    ["Nagato", "Japan", "Battleship", 6],
    ["Vanguard", "UK", "Battleship", 7],
    ["Clemson", "UK", "Destroyer", 3],
    ["Belfast", "UK", "Cruiser", 6],
    ["Le Fantasque", "France", "Destroyer", 7]
]

df = pd.DataFrame(warship_data)
df.columns = ["Name", "Country", "Type", "Tier"]
df.set_index("Name", inplace=True)

df.to_csv("02_Data_IO\\Save_Data\\sample.csv")
Name,Country,Type,Tier
Dresden,Germany,Cruiser,1
Karlsruhe,Germany,Cruiser,3
Königsberg,Germany,Cruiser,4
Kaiser,Germany,Battleship,3
Bayern,Germany,Battleship,5
König,Germany,Battleship,4
Bismarck,Germany,Battleship,7
Saint-Louis,USA,Cruiser,2
Fubuki,Japan,Destoyer,5
Nagato,Japan,Battleship,6
Vanguard,UK,Battleship,7
Clemson,UK,Destroyer,3
Belfast,UK,Cruiser,6
Le Fantasque,France,Destroyer,7

JSON 파일로 저장

import pandas as pd

warship_data = [
    ["Dresden", "Germany", "Cruiser", 1],
    ["Karlsruhe", "Germany", "Cruiser", 3],
    ["Königsberg", "Germany", "Cruiser", 4],
    ["Kaiser", "Germany", "Battleship", 3],
    ["Bayern", "Germany", "Battleship", 5],
    ["König", "Germany", "Battleship", 4],
    ["Bismarck", "Germany", "Battleship", 7],
    ["Saint-Louis", "USA", "Cruiser", 2],
    ["Fubuki", "Japan", "Destoyer", 5],
    ["Nagato", "Japan", "Battleship", 6],
    ["Vanguard", "UK", "Battleship", 7],
    ["Clemson", "UK", "Destroyer", 3],
    ["Belfast", "UK", "Cruiser", 6],
    ["Le Fantasque", "France", "Destroyer", 7]
]

df = pd.DataFrame(warship_data)
df.columns = ["Name", "Country", "Type", "Tier"]
df.set_index("Name", inplace=True)

df.to_json("02_Data_IO\\Save_Data\\sample.json")
{
    "Country": {
        "Dresden": "Germany",
        "Karlsruhe": "Germany",
        "Königsberg": "Germany",
        "Kaiser": "Germany",
        "Bayern": "Germany",
        "König": "Germany",
        "Bismarck": "Germany",
        "Saint-Louis": "USA",
        "Fubuki": "Japan",
        "Nagato": "Japan",
        "Vanguard": "UK",
        "Clemson": "UK",
        "Belfast": "UK",
        "Le Fantasque": "France"
    },
    "Type": {
        "Dresden": "Cruiser",
        "Karlsruhe": "Cruiser",
        "Königsberg": "Cruiser",
        "Kaiser": "Battleship",
        "Bayern": "Battleship",
        "König": "Battleship",
        "Bismarck": "Battleship",
        "Saint-Louis": "Cruiser",
        "Fubuki": "Destoyer",
        "Nagato": "Battleship",
        "Vanguard": "Battleship",
        "Clemson": "Destroyer",
        "Belfast": "Cruiser",
        "Le Fantasque": "Destroyer"
    },
    "Tier": {
        "Dresden": 1,
        "Karlsruhe": 3,
        "Königsberg": 4,
        "Kaiser": 3,
        "Bayern": 5,
        "König": 4,
        "Bismarck": 7,
        "Saint-Louis": 2,
        "Fubuki": 5,
        "Nagato": 6,
        "Vanguard": 7,
        "Clemson": 3,
        "Belfast": 6,
        "Le Fantasque": 7
    }
}

Excel 파일로 저장

openpyxl이라는 라이브러리가 필요하다. 저장법은 위와 같다.

import pandas as pd

warship_data = [
    ["Dresden", "Germany", "Cruiser", 1],
    ["Karlsruhe", "Germany", "Cruiser", 3],
    ["Königsberg", "Germany", "Cruiser", 4],
    ["Kaiser", "Germany", "Battleship", 3],
    ["Bayern", "Germany", "Battleship", 5],
    ["König", "Germany", "Battleship", 4],
    ["Bismarck", "Germany", "Battleship", 7],
    ["Saint-Louis", "USA", "Cruiser", 2],
    ["Fubuki", "Japan", "Destoyer", 5],
    ["Nagato", "Japan", "Battleship", 6],
    ["Vanguard", "UK", "Battleship", 7],
    ["Clemson", "UK", "Destroyer", 3],
    ["Belfast", "UK", "Cruiser", 6],
    ["Le Fantasque", "France", "Destroyer", 7]
]

df = pd.DataFrame(warship_data)
df.columns = ["Name", "Country", "Type", "Tier"]
df.set_index("Name", inplace=True)

df.to_excel("02_Data_IO\\Save_Data\\sample.xlsx")

Excel 워크북 객체

ExcelWriter() 함수는 Excel워크북 객체를 생성한다. 이는 excel파일이라고 생각하면 된다.

to_excel함수의 인자로 Excel파일의 경로 대신 워크북 객체를 넣을 수 있다. 옵션으로 sheet_name으로 어떤 Data sheet에 저장할지 선택할 수 있다.

save메서드로 저장해주어야 한다

import pandas as pd

german_ship = [
    ["Dresden", "Germany", "Cruiser", 1],
    ["Karlsruhe", "Germany", "Cruiser", 3],
    ["Königsberg", "Germany", "Cruiser", 4],
    ["Kaiser", "Germany", "Battleship", 3],
    ["Bayern", "Germany", "Battleship", 5],
    ["König", "Germany", "Battleship", 4],
    ["Bismarck", "Germany", "Battleship", 7]]

another_ship = [
    ["Saint-Louis", "USA", "Cruiser", 2],
    ["Fubuki", "Japan", "Destoyer", 5],
    ["Nagato", "Japan", "Battleship", 6],
    ["Vanguard", "UK", "Battleship", 7],
    ["Clemson", "UK", "Destroyer", 3],
    ["Belfast", "UK", "Cruiser", 6],
    ["Le Fantasque", "France", "Destroyer", 7]
]

col = ["Name", "Country", "Type", "Tier"]

df1 = pd.DataFrame(german_ship,   columns=col)
df2 = pd.DataFrame(another_ship, columns=col)

df1.set_index("Name", inplace=True)
df2.set_index("Name", inplace=True)

**writer = pd.ExcelWriter("02_Data_IO\\Save_Data\\sample.xlsx")

df1.to_excel(writer, sheet_name="sheet1")
df2.to_excel(writer, sheet_name="sheet2")
writer.save()**