Xunius / Menotexport

Python solution to export annotations from your Mendeley library.
GNU General Public License v3.0
124 stars 20 forks source link

ValueError: Shape of passed values is (0, 0), indices imply (3, 0) #8

Closed Keynaan closed 7 years ago

Keynaan commented 7 years ago

Hi Xunius,

first of all thank you for your work. As I am converting from Mendeley, your project is the one I really need right now. :)

Unfortunatelly I get an Error using your scripts:

`======================================================================

: Connected to database:

 /Users/xxx/Library/Application Support/Mendeley
Desktop/xxx@xxx.xx@www.mendeley.com.sqlite

Traceback (most recent call last): File "menotexport.py", line 1449, in args.separate,args.zotero,args.verbose) File "menotexport.py", line 1274, in main canonical_doc_ids=getCanonicals(db) File "menotexport.py", line 759, in getCanonicals df=pd.DataFrame(data=data,columns=['docid','docid2','folderid']) File "/Library/Python/2.7/site-packages/pandas-0.11.0rc1_20130415-py2.7-macosx-10.8-intel.egg/pandas/core/frame.py", line 431, in init copy=copy) File "/Library/Python/2.7/site-packages/pandas-0.11.0rc1_20130415-py2.7-macosx-10.8-intel.egg/pandas/core/frame.py", line 558, in _init_ndarray return create_block_manager_from_blocks([ values.T ], [ columns, index ]) File "/Library/Python/2.7/site-packages/pandas-0.11.0rc1_20130415-py2.7-macosx-10.8-intel.egg/pandas/core/internals.py", line 1816, in create_block_manager_from_blocks construction_error(tot_items,blocks[0].shape[1:],axes) File "/Library/Python/2.7/site-packages/pandas-0.11.0rc1_20130415-py2.7-macosx-10.8-intel.egg/pandas/core/internals.py", line 1799, in construction_error tuple(map(int, [len(ax) for ax in axes])))) ValueError: Shape of passed values is (0, 0), indices imply (3, 0)`

I installed all the mentioned dependencies. Here are the most important version numbers: Python 2.7.10 Pandas 0.11.0rc1 sqlite3.sqlite_version 3.14.0' sqlite3.version '2.6.0' Mendeley 1.16.1

I even tried it on my Mac as well as a Ubuntu machine using VirtualBox with a completely fresh installation of the named packages as well as Mendeley. Both times I got the same error.

I had a look into the python script. The Problem is, that "data" in line 759 is empty. Do you have any idea why? As I have never worked with sqlite my investigation ended at this point.

Thank you four your time, Keynaan

Keynaan commented 7 years ago

Ok, my last try today was the pre-build Windows version. This one worked flawless. Thanks a lot.

Best regards, Keynaan

Xunius commented 7 years ago

Hi Keynaan,

Sorry for the troubles and thanks for all the information you provided which has been really helpful.

I looked into this and it turns out that it is the pandas issue. I used pandas 0.19, which is also used to build the windows version, that's why you got it running using the pre-build windows one but not the others. If I down-grade it to 0.11 as in your case, I managed to reproduce the error. I understand the frustration in taking the pain to manually install all dependancies and finally failed to run it, so I am trying to build a conda package which if succeeds should simplify the installation process to a single line of command.

One more side note though. In the function it failed in, the so-called Canonical documents, are the docs in the Mendeley library that don't belong to any user-created folders. I added this feature a week ago when one user reported failure in handleing these "orphan" docs. But now I can't see these docs in my database file in my Linux mendeley, maybe they only appear in the Windows version of Mendeley? I am rather confused. Just to remind you of this issue that if you found some docs are missing, this could be one reason.