尝试使用 Pandas 和 XLSXwriter 将 CSV 条目添加到电子表格时出现 TypeError
TypeError when trying to add CSV entry into Spreadsheet using Pandas and XLSXwriter
我目前正在尝试创建一个程序来扫描 CSV 文件并使用 BING API 搜索文件中的条目,然后将结果粘贴到电子表格中。
这个宏的一部分还涉及将正在搜索的术语粘贴到电子表格中,因此我有效地将条目从 CSV 复制到电子表格中,这听起来毫无意义但起着至关重要的作用。
我的 CSV 如下所示:
EntryNumber Name Company TitleNumber
123 john hsbc 5555
124 chris ford 6666
125 adam apple 7777
我使用 Pandas 通过逐行迭代从 CSV 中提取数据,使用以下代码:
for index,row in 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 时,我有一个名为 'row' 的变量来告诉模块从哪里开始将数据写入电子表格。
在我的阴霾中,我完全忘记了我在使用 PANDAS 遍历 CSV 文件时也使用了相同的名称,使用代码:
for index,row in df.iterrows():
显然这导致了某种错误,因为 Python 混淆了两者。
无论如何这不太可能,但希望这可以帮助那些在学习过程中犯过类似错误的人!
我目前正在尝试创建一个程序来扫描 CSV 文件并使用 BING API 搜索文件中的条目,然后将结果粘贴到电子表格中。
这个宏的一部分还涉及将正在搜索的术语粘贴到电子表格中,因此我有效地将条目从 CSV 复制到电子表格中,这听起来毫无意义但起着至关重要的作用。
我的 CSV 如下所示:
EntryNumber Name Company TitleNumber
123 john hsbc 5555
124 chris ford 6666
125 adam apple 7777
我使用 Pandas 通过逐行迭代从 CSV 中提取数据,使用以下代码:
for index,row in 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 时,我有一个名为 'row' 的变量来告诉模块从哪里开始将数据写入电子表格。 在我的阴霾中,我完全忘记了我在使用 PANDAS 遍历 CSV 文件时也使用了相同的名称,使用代码:
for index,row in df.iterrows():
显然这导致了某种错误,因为 Python 混淆了两者。
无论如何这不太可能,但希望这可以帮助那些在学习过程中犯过类似错误的人!