“类型错误:write() 中不支持类型 <class 'list'>”

mic*_*use 5 python python-3.x xlsxwriter

当条件不是大写时,我希望在 Excel 文件中打印“out.csv”数据。但 out.csv 中的数据是数据列表而不是字符串。如何将列表写入 Excel 文件而不将其转换为字符串?(因为我有其他文件可能需要使用列表而不是字符串)

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()
Run Code Online (Sandbox Code Playgroud)

jmc*_*ara 2

如何将列表写入 Excel 文件而不将其转换为字符串

您可以循环遍历列表并write()取出每个元素,也可以使用 XlsxWriterwrite_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
Run Code Online (Sandbox Code Playgroud)