今日は、Python を使用して Excel ファイルを処理する方法を見てみましょう。Excel ファイルの処理では、Python 自体に csv モジュールが付属しています。
1. Python を使用して csv ファイルを読み取ります:
csv は、通常、execl によって生成される形式を csv に直接変更すると、エラーが報告されます。エラー: 行に NULL バイトが含まれています
insun 解決策: エラーの原因は、拡張子が xls の execl ファイルの名前を直接 csv ファイルに変更することです。たとえば、次のようにします。このような CSV ファイルがある場合:
#!/usr/bin/env python # -*- coding:utf-8 -*- import csv with open('egg.csv','rb') as f: reader = csv.reader(f) for row in reader: print row
['a', '2 ', '2', '2']
['b' , '3', '3', '3']
['b', '4', '4', '4']
['b', '5', '5', '5' ]
['b', '6', '6', '6']
['c', '7', '7' 、'7']
['c', '8', '8', '8']
['c', '9', '9', '9']
['c', '10', '10', '10']
['d', '11', '11', '11']
['e', '12', '12', '12']
['e', '13', '13', ' 13']
['e', '14', '14', '14']
2. Python を使用して次のように記述します。 csv生成#!/usr/bin/env python # -*- coding:utf-8 -*- import csv with open('egg2.csv', 'wb') as csvfile: spamwriter = csv.writer(csvfile, delimiter=' ',quotechar='|', quoting=csv.QUOTE_MINIMAL) spamwriter.writerow(['a', '1', '1', '2', '2']) spamwriter.writerow(['b', '3', '3', '6', '4']) spamwriter.writerow(['c', '7', '7', '10', '4']) spamwriter.writerow(['d', '11','11','11', '1']) spamwriter.writerow(['e', '12','12','14', '3'])
Pythonのcsvを使ってExcelと互換性のあるcsvファイルを生成すると、主なことは、ライターのパラメータを作成するときに方言='excel' にすることです
コードは次のように変更されます:
#!/usr/bin/env python # -*- coding:utf-8 -*- import csv with open('egg2.csv', 'wb') as csvfile: spamwriter = csv.writer(csvfile,dialect='excel') spamwriter.writerow(['a', '1', '1', '2', '2']) spamwriter.writerow(['b', '3', '3', '6', '4']) spamwriter.writerow(['c', '7', '7', '10', '4']) spamwriter.writerow(['d', '11','11','11', '1']) spamwriter.writerow(['e', '12','12','14', '3'])