vBulletin Mods

The Official vBulletin Modifications Site
https://www.vbulletin.org/forum/showthread.php?t=327626

Excel 2 Forum
by Zweeper
31 Oct 2019 14:38

Good day everybody,

I have an excel file with different rows and I want to create threads with content out of each row.
Is there already something like a phyton script available for this?

If not, can you give me some tipps and advice to start off how I could cope with something like this?
Maybe there is even a coder who could code something like this in python for me?


Greetings!

Dave 31 Oct 2019 14:52

Is there a reason you want to use Python even though vBulletin 5 is created using PHP?

Using PHP you can read the Excel file and iterate through each row and then insert the thread.

Block Disabled:      (Update License Status)  
Suspended or Unlicensed Members Cannot View Code.


Zweeper 31 Oct 2019 14:53

no, just because I am more into python at the moment.
Thanks already for the script. But how can I tell it to get the data from my excel exactly? Is there an example? :(

--------------- Added 31 Oct 2019 at 15:34 ---------------

The excel file is structured as


colum 1 = title
colum = thread content


there are x rows whereby each row should be a different thread.
I understand the code you wrote there, but I dont get how I can link this to an excel file.



Can you help me here?

--------------- Added 31 Oct 2019 at 17:42 ---------------

It hasnt necessarly to be excel 2 vbulletin. Right now I just have all the data in an excel file.

Zweeper 02 Nov 2019 12:00

I came a bit closer to the solution I guess, got some help from another guy regarding the importing problem from a csv file. But I can't get it working.


Anyone, any help here? :(







Block Disabled:      (Update License Status)  
Suspended or Unlicensed Members Cannot View Code.


Dave 02 Nov 2019 12:40

Something like:


Block Disabled:      (Update License Status)  
Suspended or Unlicensed Members Cannot View Code.

You still need to modify the parentid and userid value.
Pretty sure the script you gave is not valid though because it calls the $rowfields variable which does not exist.

Zweeper 02 Nov 2019 13:08

thanks, I finally got it working. Many thanks 2 you! :)

Zweeper 06 Apr 2020 07:28

Hey Dave, the script works like a charm, thank you so much again for your help!


There just came up another question from my side. When I work with larg csv files (more than about 1000 lines) the script runs longer than the max. execution time allowed by my server. The most of the times I split the files into separate files, what works of course.



But is there a "simple" way to update the script so that it also works with large files without running into problems with the max. execution time?



Regards!

shka 06 Apr 2020 10:15

Try


Block Disabled:      (Update License Status)  
Suspended or Unlicensed Members Cannot View Code.


Zweeper 10 Apr 2020 09:08

Seems to work, many thanks! :)

Zweeper 13 Apr 2020 11:15

Ok it is working, but not for me, since I cant change the set_time_limit at more than 90 seconds.



I could split my csv file into several files and then create several scripts which I have to run each after another.


like:


import_n.php imports import_n.csv
n+1





Is there a way to automatically start import_2.php when import_1 is finished?

shka 13 Apr 2020 15:32

I wrote 30, not 90 or more. (The call in each loop resets the time limit. ;) )

But note: If the restriction is set by your shared host provider resetting or any other solution (split or various cronjobs) could be not in accordance to the using rules. Cause same effect - "high" cpu utilization.

But you can also split your file automated and localy and call your imports (from different sources or with little sleeps)

Zweeper 13 Apr 2020 15:43

Yes i know, thanks :)

But it seems to be blocked from server side and they stop each script after a maximum of 90 seconds of runtime and I will receive the following message:




"Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at [no address given] to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log."

shka 13 Apr 2020 15:53

And if I remember the first post - you can call all directly from excel via post or frontend controller. :D

Zweeper 13 Apr 2020 16:22

How does that work?


All times are GMT. The time now is 14:51.

Powered by vBulletin® Version 3.8.14
Copyright © 2020, MH Sub I, LLC dba vBulletin. All Rights Reserved. vBulletin® is a registered trademark of MH Sub I, LLC
Copyright ©2001 - , vbulletin.org. All rights reserved.