我当前正在尝试创建一个程序,该程序使用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在两者之间混合了。
无论如何,这不太可能,但希望这可以帮助一个学习时犯类似错误的人!