スポンサーリンク
CSVを開いてエクセルに貼り付ける方法
ダウンロードしてきたCSVを開いて、別のエクセルに貼り付ける方法。
# -*- coding: utf-8 -*-
import pandas as pd
import openpyxl
# csvファイルを読み込む
frame = pd.read_csv(r"C:\Users\oono\Desktop\aaaa.csv",encoding='Shift_JIS')
# エクセルファイルに書き込む
writer = pd.ExcelWriter(r"C:\Users\oono\Desktop\aaaa.xlsx")
frame.to_excel(writer,'Sheet1',index=False) # header=False
# 保存
writer.save()
popenpyxlをimportする
import openpyxl
No module named 'openpyxl'が出たら、モジュールをインストールする必要があるので以下のコマンドでインストールする。
pip install openpyxl
pandasをimportする
import pandas as pd
Initializing from file failed というエラーがでたら、anacondaを使っているが、古いかもなので、以下のコマンドでアップロードする。
pip install -U pandas
csvの開き方
# csvファイルを読み込む
frame = pd.read_csv(r"C:\Users\oono\Desktop\aaaa.csv",encoding='Shift_JIS')
encodingをなしにしたり、utf-8にしたらエラーが出た。
'utf-8' codec can't decode byte 0x8c in position 0: invalid start byte
Shift_JISか、cp932 にしたらうまくいった。
エクセルへの書き込み
# エクセルファイルに書き込む
writer = pd.ExcelWriter(r"C:\Users\oono\Desktop\aaaa.xlsx")
frame.to_excel(writer,'Sheet1',index=False) # header=False
# 保存 writer.save()
indexとheaderを付けるか付けないか指定できる。
indexはエクセルの一番左端の列が番号になり、0から順番に行数分番号が付けられる。
headerは列の一番上の項目名を付けるか付けないか。
Falseにしたら、つくかつかないか指定できる。
上記の場合は、index=Falseなので、番号を付けないという指定。