安装了最新版本的pandas 0.9.0,以防这是一个错误。编辑:忘记提到这是Python 2.7。
正在尝试读取Excel文件。这部分看起来没问题。
最初,我尝试对pandas数据帧的每一行使用iteritems(),因为id_company需要与mysql数据库进行验证(未包含代码)。与将其放入元组(代码如下)相同/相似的错误消息。以下是错误消息。
请注意,有.reindex()但之前它并不起作用。reindex()有点像绝笔。
为了解决问题,我可能会直接从目标SQL中导入并进行连接。我担心数据集的大小。
这是错误信息:
import pandas as pd
def runNow():
#identify sheet
source = 'C:\Users\jlalonde\Desktop\startup_geno\startupgenome_w_id_xl_20121109.xlsx'
xls_file = pd.ExcelFile(source)
sd = xls_file.parse('Sheet1')
source_u = sd.drop_duplicates(cols = 'id_company', take_last=False)
source_r = source_u[['id_company','id_good','description', 'website','keyword', 'company_name','founded_month', 'founded_year', 'description']]
source_i = source_r.reindex() #hail mary
tup_r = [tuple(x) for x in source_i.values]
这是错误信息:
Traceback (most recent call last):
File "<pyshell#10>", line 1, in <module>
sg_sql_2.runNow()
File "sg_sql_2.py", line 31, in runNow
tup_r = [tuple(x) for x in source_r.values]
File "C:\Python27\lib\site-packages\pandas\core\frame.py", line 1443, in as_matrix
return self._data.as_matrix(columns).T
File "C:\Python27\lib\site-packages\pandas\core\internals.py", line 723, in as_matrix
mat = self._interleave(self.items)
File "C:\Python27\lib\site-packages\pandas\core\internals.py", line 743, in _interleave
indexer = items.get_indexer(block.items)
File "C:\Python27\lib\site-packages\pandas\core\index.py", line 748, in get_indexer
raise Exception('Reindexing only valid with uniquely valued Index '
Exception: Reindexing only valid with uniquely valued Index objects
在这个问题上我已经琢磨了大部分时间,但是我还是想问一下,这是一个bug还是有什么非常明显的东西我没有发现?