Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.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显式命名?_Python_Excel_Csv_Xlsxwriter_Worksheet - Fatal编程技术网

Python 我如何在非';是否使用XlsxWriter显式命名?

Python 我如何在非';是否使用XlsxWriter显式命名?,python,excel,csv,xlsxwriter,worksheet,Python,Excel,Csv,Xlsxwriter,Worksheet,说到编程,我完全是个新手。我正在尝试编写一个Python3程序,它将根据CSV文件的内容生成一个Excel工作簿。到目前为止,我了解如何创建工作簿,并且能够根据CSV文件的内容动态创建工作表,但是我无法写入每个工作表 注意,在下面的示例中,我提供了一个静态列表,但我的程序根据CSV文件的内容动态创建了一个名称列表:将附加到列表中的名称数量从1到60不等,具体取决于所讨论的分析 import xlsxwriter workbook = xlsxwriter.Workbook('C:\\Users

说到编程,我完全是个新手。我正在尝试编写一个Python3程序,它将根据CSV文件的内容生成一个Excel工作簿。到目前为止,我了解如何创建工作簿,并且能够根据CSV文件的内容动态创建工作表,但是我无法写入每个工作表

注意,在下面的示例中,我提供了一个静态列表,但我的程序根据CSV文件的内容动态创建了一个名称列表:将附加到列表中的名称数量从1到60不等,具体取决于所讨论的分析

import xlsxwriter

workbook = xlsxwriter.Workbook('C:\\Users\\Jabocus\\Desktop\\Workbook.xlsx')
list = ["a", "b", "c", "d"]

for x in list:
    worksheet = workbook.add_worksheet(x)
    worksheet.write("A1", "Hello!")

workbook.close()
如果按照上面显示的方式运行程序,则会得到一个SyntaxError,IPython会指向工作簿.close()作为问题的根源

但是,如果我排除了在每个工作表中尝试向单元格A1写入“Hello!”的那一行,那么程序将按照我的预期运行:我的桌面上有一个Workbook.xlsx,它有4个工作表,分别命名为a、b、c和d

for循环对我来说似乎是一个不错的选择,因为我的程序需要处理各种CSV格式(我宁愿编写一个程序来处理我实验室每个分析的数据,而不是每个分析的程序)

我的希望是,通过像我那样使用sheet.write(),Python会知道我想要写入我刚刚创建的工作表(即,我认为工作表将在循环的每次迭代中充当每个工作表的名称,尽管每个工作表都显式地命名为新名称)


这里的问题是迭代,我知道这与我在write()步骤中如何引用每个工作表有关(因为我没有给任何工作表对象一个明确的名称),但我不知道如何继续。解决这个问题的好方法是什么?

您是否尝试过类似于
工作表的方法。编写(0,0,'Hello')

而不是工作表。写('A1','Hello')我不确定你的代码到底出了什么问题,但我可以告诉你:

我完全复制了您的代码(除了将路径更改为我的桌面),并且工作正常

我相信你的问题可能是三件事之一:

  • 您的
    XlsxWriter
  • 桌面上已存在名为
    Workbook.xlsx
    的文件,该文件已损坏或导致某些问题(在其他程序中打开)
  • 您有一些代码,而不是您发布的代码
  • 考虑到所有这些可能性,我建议您:

  • 重新安装
    XlsxWriter

    在命令提示符下运行
    pip卸载XlsxWriter
    ,然后运行
    pip安装XlsxWriter

  • 更改要打开的工作簿的文件名:

    workbook=xlsxwriter.workbook('C:\\Users\\Jabocus\\Desktop\\Workbook2.xlsx')

  • 试着准确地运行您发布的代码,然后逐渐添加到其中,直到它停止工作。


  • 谢谢你花时间看这个。至少,我的思维过程已经足够好了,这让我松了一口气。@Jacobus,那么你能理解它吗?不,我实际上是想对最初的评论进行扩展,但当我按enter键转到一个新的行时,它发布了。在过去的10分钟里,我试图编辑我的评论,但更改没有花费太多的时间。不足的是3。是正确的:我的示例代码不是我试图修复的代码。这应该是类似的。我将采纳您的建议,并尝试以我的工作示例代码为基础。好的,很高兴它有所帮助。是的,我已经在我正在使用的XlsxWriter测试文件上完成了这项工作,但我不认为我正在使用的坐标语法是问题的一部分。