尝试使用Pandas和XLSXwriter

时间:2016-11-30 16:19:52

标签: python csv 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.

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

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

1 个答案:

答案 0 :(得分:1)

嘿大家我想出了一个解决方案,其他任何人都像我一样愚蠢地犯同样的错误。

基本上,当我使用XLSXWRITER时,我有一个名为&#39; row&#39;告诉模块从哪里开始将数据写入电子表格。 在我的阴霾中,我完全忘记了当我使用PANDAS使用代码迭代CSV文件时,我也使用了相同的名称:

for index,row in df.iterrows():

显然这会导致某种错误,因为Python在两者之间混淆了。

无论如何它不太可能,但希望这可以帮助那些在学习时犯同样错误的人!