试图使用pandas和xlsxwriter将CSV输入添加到电子表格中时



我当前正在尝试创建一个程序,该程序使用Bing API搜索文件中的条目,然后将结果粘贴到电子表格中。

此宏的一部分涉及粘贴到电子表格上搜索的术语,因此我有效地将CSV的条目复制到电子表格中,这听起来毫无意义,但起着至关重要的作用。

>

我的CSV看起来像这样:

EntryNumber Name    Company TitleNumber
123         john    hsbc    5555
124         chris   ford    6666
125         adam    apple   7777

我使用PANDAS通过行通过行迭代迭代来提取CSV的数据,使用此代码:

对于索引,df.iterrows()中的行:

entrynumber = row['EntryNumber']
name = row['Name']
company = row['Company']
title = row['TitleNumber']

然后,我尝试使用XLSXWRITER将变量之一写入电子表格中的单元格:

worksheet.write(row, col, entrynumber)

但是,这会产生类型错误,后面如下:

Traceback (most recent call last):
  File "CSVtest.py", line 68, in <module>
    worksheet.write(row, col, entrynumber)
  File "/usr/local/lib/python3.5/site-packages/xlsxwriter/worksheet.py", line 57, in cell_wrapper
    int(args[0])
  File "/usr/local/lib/python3.5/site-packages/pandas/core/series.py", line 92, in wrapper
    "{0}".format(str(converter)))
TypeError: cannot convert the series to <class 'int'>
Exception ignored in: <bound method Workbook.__del__ of <xlsxwriter.workbook.Workbook object at 0x1088118d0>>
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/site-packages/xlsxwriter/workbook.py", line 148, in __del__
Exception: Exception caught in workbook destructor. Explicit close() may be required for workbook.

不知道为什么会发生这种情况,我尝试将变量转换为字符串,但是错误仍然弹出,任何人都有任何想法?

任何帮助都非常感谢:)谢谢。

嘿,我想知道的解决方案,因为其他任何人都像我一样愚蠢地犯同样的错误。

基本上,当我使用xlsxwriter时,我有一个称为"行"的变量来告诉模块从哪里开始将数据写入电子表格。在我的雾霾中,我完全忘记了我使用pandas在CSV文件上迭代时也使用了相同的名称,使用代码:

for index,row in df.iterrows():

显然,这引起了某种错误,因为Python在两者之间混合了。

无论如何,这不太可能,但希望这可以帮助一个学习时犯类似错误的人!

最新更新