やりたいこと
PythonでCSVデータをExcelに貼り付ける動作環境
Windows7 Python3.4こうしたい
,Label,Area,Mean,Min,Max 1,4mas.tif,40000,0.000,0,0 2,10mas.tif,40000,32757.335,30635,34880 3,25mas.tif,40000,32784.505,1039,64761 4,40mas.tif,40000,32836.377,1371,65157
こうした
import win32com.client as win32 f = open("C:/Users/user/Documents/sample.csv","r") xlApp = win32.Dispatch("Excel.Application") xlApp.Visible = 1 wb = xlApp.Workbooks.Open("C:/Users/user/Documents/sample.xls") Sheet = xlApp.Workbooks(1).Sheets(1) for i,line in enumerate(f.readlines()): for n,label in enumerate(line.split(",")): cell = Sheet.Cells(i+1,n+1)#cellの始まりが(1,1)でカウントアップの始まりが(0,0)のため cell.Value = label
でもこんなのがあった
import pandas as pd df = pd.read_csv("C:/Users/user/Documents/sample.csv", index_col=0) df.to_excel("C:/Users/user/Documents/sample.xls",startrow=10,startcol = 10)
たった2行で終わりです。
pandas.to_excelですがstarcol,startrowはセルの貼り付け開始位置です(そのまんま) 指定しなければ、Rangeでいうところの("A1")から貼り付け開始します
デフォルトでラベルの部分が勝手に装飾されてしまいますね...
やりたいこと
PythonでCSVデータをExcelに貼り付ける
動作環境
Windows7 Python3.4
こうしたい
,Label,Area,Mean,Min,Max 1,4mas.tif,40000,0.000,0,0 2,10mas.tif,40000,32757.335,30635,34880 3,25mas.tif,40000,32784.505,1039,64761 4,40mas.tif,40000,32836.377,1371,65157
こうした
import win32com.client as win32 f = open("C:/Users/user/Documents/sample.csv","r") xlApp = win32.Dispatch("Excel.Application") xlApp.Visible = 1 wb = xlApp.Workbooks.Open("C:/Users/user/Documents/sample.xls") Sheet = xlApp.Workbooks(1).Sheets(1) for i,line in enumerate(f.readlines()): for n,label in enumerate(line.split(",")): cell = Sheet.Cells(i+1,n+1)#cellの始まりが(1,1)でカウントアップの始まりが(0,0)のため cell.Value = label
enumerate関数はリストのインデックスをループします。 すごい便利ですね。
でもこんなのがあった
import pandas as pd df = pd.read_csv("C:/Users/user/Documents/sample.csv", index_col=0) df.to_excel("C:/Users/user/Documents/sample.xls",startrow=10,startcol = 10)
Pandasすごい。
たった2行で終わりです。
pandas.to_excelですがstarcol,startrowはセルの貼り付け開始位置です(そのまんま) 指定しなければ、Rangeでいうところの("A1")から貼り付け開始します
デフォルトでラベルの部分が勝手に装飾されてしまいますね...
0 件のコメント:
コメントを投稿