#目的
Python3 + OpenPyXL で CSVファイルを Excel 2016 x86 に書き込んでみる
※VBAだと range = Variant() がデフォなんだけど
Pythonだともう少し触ってみないとわかないなぁ・・・
対象データは郵便番号検索の17ISHIKA.CSV
##パッケージの追加
> pip3 install openpyxl
> pip3 install csv
##サンプルコード
#第1案---------------------------------------------
# CSV ファイルを Worksheet に書き込む
rows = 0
with open(csvfile, newline='') as csvfile:
spamreader = csv.reader(csvfile, delimiter=',', quotechar='"')
for line in spamreader:
rows = rows + 1
# print(line)
cols = 0
# 1行分のデータを書き込む
# TODO 対象 Range の書式付け
for col in line:
cols = cols + 1
wb[addsheet].cell(column=cols, row=rows).value = col
# print(str(rows) + ":" + str(cols) + ":" + col)
#---------------------------------------------------
#第2案---------------------------------------------
# CSV ファイルを Worksheet に書き込む
ws = wb[addsheet]
with open(csvfile, newline='') as csvfile:
spamreader = csv.reader(csvfile, delimiter=',', quotechar='"')
for line in spamreader:
ws.append(line)
#---------------------------------------------------
##参考にしたのは以下のサイト
openpyxl - A Python library to read/write Excel 2010 xlsx/xlsm files
Tutorial - openpyxl
csv — CSV File Reading and Writing
Python openpyxlでExcelを操作