2016-08-20 20 views
3

条件が大文字でない場合、Excelファイルに 'out.csv'データを出力します。しかし、out.csvのデータは文字列ではなくデータのリストです。リストを文字列に変換せずにExcelファイルに書き込むにはどうすればよいですか? (私ではなく、文字列のリストを使用する必要があり、他のファイルを持っているとして)"TypeError:write()"でサポートされていないタイプの<class 'list'>

Pythonのバージョン番号3.5.1

import xlsxwriter 
import csv 
import xlwt 

f1= open('out.csv') 
data=csv.reader(f1) 

# Create a new workbook and add a worksheet 
workbook = xlsxwriter.Workbook('1.xlsx') 
worksheet = workbook.add_worksheet() 

# Write some test data. 

for module in data: 
    str1 = ''.join(module) 
    if str1.isupper(): 
     pass 
    else: 
     worksheet.write('A', module) 


workbook.close() 
+1

あなただけの '' worksheet.write( 'A'、STR1)したいですか?私は 'xlsxwriter'について何も知らないので、一度に複数の項目を書くことができるかどうかはわかりません。 – Blckknght

+0

これは役立つかもしれません:http://stackoverflow.com/questions/19305109/most-pythonic-way-to-write-list-to-xls-file また、なぜ文字列とリストのバージョンができませんあなたが書いて使いたいもののうち、必要なものを使ってください。 – zachyee

+0

私の出力は、[AAA_BBB_CCC_DDD_EEE]、[FFF_GGG_HHH_III_JJJ]などであり、配列形式のリストです。しかし、私はそれらの出力をExcelファイルで列A1、A2などにループで印刷したい – mickeymouse

答えて

0

How do I write the list to excel file without converting it to string

あなたはリストをループし、各要素アウトwrite()かのどちらかでしXlsxWriter write_row()メソッドを使用して、リストを一度に書き込むことができます。このような

何か:

row = 0 
col = 0 
for module in data: 
    str1 = ''.join(module) 
    if str1.isupper(): 
     pass 
    else: 
     worksheet.write_row(row, col, module) 
     row += 1 
関連する問題