Ad
3: 2016-12-04 (日) 08:14:36 njf ソース バックアップ No.3 を復元して編集 現: 2016-12-29 (木) 13:46:46 njf ソース 編集
Line 3: Line 3:
仕事などのデータをExcelやGoogleスプレッドシートなどでいただくことが多くあります。数百行ぐらいならそのまま使えますが、数千行とかになるとなかなか管理が難しくなってきます。 仕事などのデータをExcelやGoogleスプレッドシートなどでいただくことが多くあります。数百行ぐらいならそのまま使えますが、数千行とかになるとなかなか管理が難しくなってきます。
-毎回マクロなどで対応するのも大変なので、CSVに書き出ししてPythonでsqliteなどのデータベースに入れて管理すしたりしています。するとSQLが使えるので、集計などが自動化でき、かつ高速です。+毎回マクロなどで対応するのも大変なので、CSVに書き出ししてPythonでsqliteなどのデータベースに入れて管理したりしています。するとSQLが使えるので、集計などが自動化でき、かつ高速です。
特にGoogleスプレッドシートの場合は、権限によってはCSVでダウンロードするところからPythonで処理することも可能なので、表示の重い画面を開かずに更新の有無などをチェックできて、管理するのがとても楽になります。 特にGoogleスプレッドシートの場合は、権限によってはCSVでダウンロードするところからPythonで処理することも可能なので、表示の重い画面を開かずに更新の有無などをチェックできて、管理するのがとても楽になります。
-以下で簡単にPython2.7でのCSV処理についてまとめます。+以下でそんな時に必要となるPython2.7でのCSV処理について簡単にまとめます。
*CSVファイルの読み込み [#rf8c79ef] *CSVファイルの読み込み [#rf8c79ef]
-まず以下のテストファイルを「test.csv」とう名前で用意したとします。+まず以下のテストファイルを「test.csv」という名前で用意したとします。
 ID,name,comment  ID,name,comment
Line 23: Line 23:
 import csv  import csv
 + 
 f = open("test.csv")  f = open("test.csv")
 + 
 csvData = csv.reader(f)  csvData = csv.reader(f)
 + 
 for row in csvData:  for row in csvData:
     print row[0],row[1],row[2]      print row[0],row[1],row[2]
 + 
 f.close()  f.close()
Line 43: Line 43:
 import csv  import csv
 + 
 with open('test.csv', 'rb') as f:  with open('test.csv', 'rb') as f:
     reader = csv.reader(f)      reader = csv.reader(f)
Line 65: Line 65:
 f = codecs.open("test.csv", 'r', 'utf_8')  f = codecs.open("test.csv", 'r', 'utf_8')
 csvData = csv.reader(f)  csvData = csv.reader(f)
 + 
 for low in csvData:  for low in csvData:
     print low[0],type(low[1]),low[2]      print low[0],type(low[1]),low[2]
 + 
 f.close()  f.close()
Line 107: Line 107:
 inFile = open("test.csv", 'r')  inFile = open("test.csv", 'r')
 outFile = open('test_out.csv', 'w')  outFile = open('test_out.csv', 'w')
 + 
 csvData = csv.reader(inFile)  csvData = csv.reader(inFile)
 + 
 writer = csv.writer(outFile)  writer = csv.writer(outFile)
 + 
 for row in csvData:  for row in csvData:
     writer.writerow(row)      writer.writerow(row)
 + 
 inFile.close()  inFile.close()
 outFile.close()  outFile.close()
Line 121: Line 121:
 inFile = open("test.csv", 'r')  inFile = open("test.csv", 'r')
 + 
 outFile = open('test_out.csv', 'w')  outFile = open('test_out.csv', 'w')
 + 
 csvData = csv.reader(inFile)  csvData = csv.reader(inFile)
 + 
 writer = csv.writer(outFile)  writer = csv.writer(outFile)
 writer.writerows(csvData)  writer.writerows(csvData)
 + 
 inFile.close()  inFile.close()
 outFile.close()  outFile.close()


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 2812, today: 1, yesterday: 0
MenuBar
広告

ログイン

ユーザー名:


パスワード:





パスワード紛失

Portuguese | English | German | Greek | Japanese | Korean | Russian | T-Chinese top
NJF