pythonはcsvファイルの書き方を読み、詳しくまとめます。


pythonは大量のライブラリを提供していますので、非常に便利に各種の操作ができます。今はpythonの中でcsvファイルを読み書きする方法をプログラムで表現しています。
pythonプログラムを作成するにはcsvモジュールまたはpandsモジュールが必要です。csvモジュールはインストールを再ダウンロードする必要がないようにしています。
pythonバージョンのインストール。
python 2の環境下でパンdasをインストールする方法は、

sudo pip install pandas
pythone 3環境でパンdasをインストールする方法は、

sudo pip3 install pandas
1、csvを使ってcsvファイルを読み書きする方法をまとめます。
ファイルを読む時、ファイルを開けて、csv.reader()を呼び出してファイルを読みます。読み込んだ後のファイルの内容を別のファイルに入力して保存するには、読み込んだファイルの各ラインを巡回してcsv_を使うことができます。write.writerow()のように指定されたファイルに書き込みます。
2、csvを使ってcsvファイルの例コードを読み書きます。

#encoding:utf-8
import csv
 
#  csv  
csv_file = csv.reader(open('../../data/capital/2010-Q4-cabi-trip-history-data.csv'))
print(csv_file)
 
#  newline           ,     python3     
out = open('../../data/capital/2010-Q4','a',newline='')
csv_write = csv.writer(out,dialect='excel')
 
for item in csv_file:
	#print item
	csv_write.writerow(item)
 
print("write over")
上のコードは従来のオープンファイルです。ファイルを読み込む---ファイルを開く---ファイルを閉じる方式でファイルの読み込みと書き込みを行います。読取りと書き込み中にcsvライブラリのreader()とwriter()をそれぞれ呼び出しました。
3、csvを使ってcsvファイルの例コードを読み書きます。

#encoding:utf-8
import csv
 
#      encoding      python3     
csv_reader = csv.reader(open('../../data/capital/2011-Q1-cabi-trip-history-data.csv',encoding='utf-8'))
 
out = open('../../data/capital/a0','w',newline='')
csv_writer = csv.writer(out,dialect='excel')
 
 
for row in csv_reader:
	#         list,list           string  
	print(row)
		csv_writer.writerow(row)
例示コード2の読み書き方式は、例示コード1と基本的に同じであり、例コード2でファイルを開くときに開く符号化方式が指定されています。出力ファイルの開き方も例コード1の方式とは少し違っています。書き込み方式右'a'を'wに変えました。
4、csvを使ってcsvファイルの例コードを読み書きます。

#encoding:utf-8
import csv
 
#  csv    1
csvFile = open('../../data/capital/2011-Q3-cabi-trip-history-data.csv','r')
reader = csv.reader(csvFile)
 
data = []
 
for item in reader:
#	print(item)
	data.append(item)
 
#print(data)
 
csvFile.close()
 
 
#  csv    2
with open("../../data/capital/2011-Q3-cabi-trip-history-data.csv",'r') as csvFile:
	#  csv  ,        
	reader2 = csv.reader(csvFile)
	for item2 in reader2:
		print(item2)
csvFile.close()
 
 
#     csv  
#  newline,          
csvFile2 = open('../../data/capital/0001.csv','w',newline='')
writer = csv.writer(csvFile2)
m = len(data)
for i in range(m):
	writer.writerow(data[i])
csvFile2.close()
 
 
#     csv  
dic = {'  ':123,'  ':456,'   ':789}
csvFile3 = open('../../data/capital/0001.csv','w',newline='')
writer2 = csv.writer(csvFile3)
for key in dic:
	print(key)
#	writer2.writerow([key,dic[key]])
 
csvFile3.close()
上記のコードの中でcsvファイルを開く方法とcsvファイルを書き込む方法を二つ提案しました。このうち、第1のオープン方式は前の2つと非常に似ていますが、このような方法では、ファイルを開くときに読取方式が加わり、前の2つの例示的なコードが追加されていません。もう一つの読取方法は、pythonに独自の名前を付けてファイルを開くことに対して命名されています。他の部分は似ています。この例では、リストと辞書のcsvファイルへの書き込みを区別し、それぞれのリストと辞書のcsvファイルへの書き込みの例示的なコードを提供している。
5、csvを使ってcsvファイルの例コードを読み書きます。

#encoding:utf-8
'''
import pandas as pd
#       
a = [1,2,3]
b = [4,5,6]
#    key   csv    
dataFrame = pd.DataFrame({'a_name':a,'b_name':b})
# DataFrame   csv,index        ,default=True
dataFrame.to_csv('0001.csv',index=False,sep='')
#pandas     csv   
data = pd.read_csv('test.csv')
'''
 
 
#===================================
#     : csv ,      
import csv
 
#python2   file  open
with open('test.csv','w') as csvFile:
	writer = csv.writer(csvFile)
	#  columns_name
	writer.writerow(["index","a_name","b_name"])
	#     writerows
	writer.writerows([[1,2,3],[0,1,2],[4,5,6]])
 
# reder  csv  
with open('test.csv','r') as csvFile:
	reader = csv.reader(csvFile)
	for line in reader:
		print line
この例示的なコードは、1行と複数行の書込みを実現するためのものである。
6、csvを使ってcsvファイルの例コードを読み書きます。

#encoding:utf-8
import csv
 
 
with open('test.csv') as csvFile:
	#readcsv = csv.reader(csvFile,delimiter='')
	readcsv = csv.reader(csvFile)
	#
	rows= [row for row in readcsv]
	for row in readcsv:
		rows= [row for row in reader]
		#print(row)#    
		print(row[0])#        cell
		print(row[0],row[1])#        cell
 
print('=================')
 
with open('test.csv') as csvFile:
	readCSV = csv.reader(csvFile)
	cols1 = []
	cols2 = [] 
	cols3 = []
	for row in readCSV:
		col1 = row[0]	
		col2 = row[1]
		col3 = row[2]
		
		cols1.append(col1)
		cols2.append(col2)
		cols3.append(col3)
 
print cols1
print cols2
print cols3
上のコード例は、すべての行を読み取る新しい書き方を示しています。あるセルとある列を読み取る方法を提案しています。
7、csvを使ってcsvファイルの例コードを読み書きます。

#encoding:utf-8
import csv
 
#     :  reader  ,          (  csv  ),        ,         csv   .eg:         csv     ,     
with open('test.csv','rb') as csvFile:
	reader = csv.reader(csvFile)
	rows = [row for row in reader]
 
print rows
 
 
print('===========')
 
#                
with open('test.csv','rb') as csvFile:
	reader = csv.reader(csvFile)
	column = [row[1] for row in reader]
print column
 
 
 
print('======     ======')
#     :  DictReader, reader    ,        ,           ,        ,                     ,                 .          DictReader   :
with open('test.csv','rb') as csvFile:
	reader = csv.DictReader(csvFile)
	column = [row for row in reader]
print(column)
 
#  CictReader  csv    ,            
with open('test.csv','rb') as csvFile:
	reader = csv.DictReader(csvFile)
	column = [row['a_name'] for row in reader]
print column
上のコードは、行全体と列全体を読み取る新しい方式を示しています。また、DictReaderを使用して列名で読み取る方式を提案しています。
8、csvを使ってcsvファイルの例コードを読み書きます。

#encoding:utf-8
import csv
 
with open('test.csv','rb') as csvFile:
	reader = csv.reader(csvFile)
	for row in reader:
		print row
 
# csv      ,             cell 
with open('test1.csv','wb') as csvFile:
	writer = csv.writer(csvFile,delimiter=' ',quotechar='|',quoting=csv.QUOTE_MINIMAL)
	writer.writerow(['a','4','5','6'])
	writer.writerow(['b','1','2','3'])
	writer.writerow(['c','9','8','7'])
	writer.writerow(['d','8','3','1'])
 
 
# csv      ,                    cell 
with open('test2.csv','wb') as csvFile:
	writer = csv.writer(csvFile,dialect='excel')
	writer.writerow(['a','4','5','6'])
	writer.writerow(['b','1','2','3'])
	writer.writerow(['c','9','8','7'])
	writer.writerow(['d','8','3','1'])
上のコードはリスト中のデータを異なるセルに入れることができる実現方式を示しています。