Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python xlsxwriter和xlwt:将字符串列表写入单元格_Python_Excel_Xlwt_Xlsxwriter - Fatal编程技术网

Python xlsxwriter和xlwt:将字符串列表写入单元格

Python xlsxwriter和xlwt:将字符串列表写入单元格,python,excel,xlwt,xlsxwriter,Python,Excel,Xlwt,Xlsxwriter,我目前正在使用xlwt非常成功地创建.xls文件。我还在学习xlsxwriter,以便将来可能需要它的一些功能的应用程序 xlwt平滑地将字符串列表写入单元格 e、 g 打开Test.xls文件,启用换行文本,单元格A1显示: January February March April May June 我试着用xlsxwriter做类似的事情 import xlsxwriter xbook = xlsxwriter.Workbook('Test.xlsx') xsheet = xbook.ad

我目前正在使用xlwt非常成功地创建.xls文件。我还在学习xlsxwriter,以便将来可能需要它的一些功能的应用程序

xlwt平滑地将字符串列表写入单元格

e、 g

打开Test.xls文件,启用换行文本,单元格A1显示:

January
February
March
April
May
June
我试着用xlsxwriter做类似的事情

import xlsxwriter
xbook = xlsxwriter.Workbook('Test.xlsx')
xsheet = xbook.add_worksheet('Test')
xsheet.write(0,0,a)
在这里,我收到一条很长的错误消息,最终导致

...anaconda/lib/python2.7/site-packages/xlsxwriter/worksheet.pyc in write(self, row, col, *args)
    416         # We haven't matched a supported type. Try float.
    417         try:
--> 418             f = float(token)
    419             if not self._isnan(f) and not self._isinf(f):
    420                 return self.write_number(row, col, f, *args[1:])

TypeError: float() argument must be a string or a number
我尝试过其他xlsxwriter编写方法,但都给出了大致相同的错误

其他研究:我已经相当彻底地搜索了这个网站。我还浏览了优秀的xlsxwriter PDF,并查看了xlsxwriter Github页面。到目前为止,我还没有遇到任何解决这个问题的方法

同样,xlwt现在还可以,我希望在不久的将来需要添加图表和小图片以及创建xlsx文件

谢谢


俱乐部里的那个老家伙

不,你不能用
xlsxwrite.write()写
列表
类型

检查

如果上述类型均不匹配,则使用 float()查看它是否对应于用户定义的浮点类型。如果是 然后使用write_number()写入

这就是为什么会出现错误
TypeError:float()参数必须是字符串或数字

要解决此问题,请尝试将
列表
转换为
字符串
,如Paulo Scardine(在注释中)所建议的:

XlsxWriter中的方法不支持列表

您可以使用工作表方法编写列表:

另外,这种例外情况在这种情况下没有多大帮助,将在下一版本中修复。以下是使用GitHub上XlsxWriter版本的示例程序的例外情况:

TypeError: Unsupported type <type 'list'> in write()
TypeError:write()中不支持的类型

我一直在处理类似的问题

通过使用enumerate获取列表中每个字符串的索引,然后将其作为行引用和数据项传递给。写入:

import xlsxwriter

a = ['January\n','February\n','March\n','April\n','May\n','June\n']

xbook = xlsxwriter.Workbook('Test.xlsx')
xsheet = xbook.add_worksheet('Test')

for idx, month in enumerate(a):
    xsheet.write(idx,0,a[idx])

xbook.close()

只要使用
”。如果
isinstance(a,list)=True,请加入(a)
而不是
a
。这正是我需要的。我无法接受答案,因为没有复选框……我确实尝试过这一点,作为我对每个write_uu方法的初始实验的一部分。这将列表中的每个元素放在一个单独的单元格中(正如文档中所期望的那样)。“”join方法将所有字符串放在一个单元格中,这是我需要为当前应用程序执行的操作。希望这不是一个坏的形式来感谢您在创建这个包的努力。哎呀,对不起。我没想到你想把它们都放在一个牢房里。在这种情况下,上面显示的
join()
是更好的选择。在这种情况下,您可能还需要格式。不,形式还不错。:-)
import xlsxwriter

a = ['January\n','February\n','March\n','April\n','May\n','June\n']

xbook = xlsxwriter.Workbook('Test.xlsx')
xsheet = xbook.add_worksheet('Test')

xsheet.write_row(0, 0, a)

xbook.close()
TypeError: Unsupported type <type 'list'> in write()
import xlsxwriter

a = ['January\n','February\n','March\n','April\n','May\n','June\n']

xbook = xlsxwriter.Workbook('Test.xlsx')
xsheet = xbook.add_worksheet('Test')

for idx, month in enumerate(a):
    xsheet.write(idx,0,a[idx])

xbook.close()