python csvファイルを①ダイアログで選択後②読み込んで③inputで入力したファイル名で書き出す

インポートするcsvファイルオープンのダイアログボックス(OS問わず)

エクスポートする 新規ファイル名入力InputBox

#-------------------------------------------------------------------------------
# Name:        module1
# Purpose:
#
# Author:      leoco
#
# Created:     11/02/2020
# Copyright:   (c) leoco 2020
# Licence:     <your licence>
#-------------------------------------------------------------------------------
import os, tkinter, tkinter.filedialog, tkinter.messagebox
import csv
from os import path


def get_filename():
# ファイル選択ダイアログの表示
    root = tkinter.Tk()
    root.withdraw()
    fTyp = [("",".csv")]#fTyp = [("","*")]すべての種類
    iDir = os.path.abspath(os.path.dirname(__file__))
    file = tkinter.filedialog.askopenfilename(filetypes = fTyp,initialdir = iDir)
    return file

data=[]
a = get_filename()
with open(a,mode='r',newline='')as fp:
    reader=csv.reader(fp)
    for row in reader:
        #print(row)
        data.append(row)

filename=input('output filename?(.csv)')+".csv"
b = path.join(path.dirname(__file__), filename)
with open (b,mode='w')as fp:
    writer=csv.writer(fp,lineterminator='\n')
    writer.writerows(data)




コメント

タイトルとURLをコピーしました