Esta apliación nace de la experimentación de jugar con Python. Aprovechando que la app que utilizo para guardar las partidas de los juegos de mesa tiene la posibilidad de exportar a fichero csv, ¿ por qué no leer los datos y crear diferentes páginas estáticas para su directa publicación dentro de PmWiki ? Experimentar, jugar, aprender y porque no, llenar de contenido.
- # Abrir el archivo CSV
- import csv
- import os
- fout = open('salida.txt','w',encoding='utf-8')
- with open('20250414.BGG.Export.csv', newline='', encoding='utf-8') as archivo:
- lector = csv.reader(archivo) # Crear un objeto lector
- ax = 0
- for fila in lector:
- ax = ax + 1
- if ax == 1:
- cabecera = fila
- continue
- if fila[ cabecera.index('own')] == '1':
- # objectname,objectid,rating,numplays,weight,own,fortrade,want,wanttobuy,wanttoplay,prevowned,
- # preordered,wishlist,wishlistpriority,wishlistcomment,comment,conditiontext,haspartslist,
- # wantpartslist,collid,baverage,average,avgweight,rank,numowned,objecttype,originalname,minplayers,
- # maxplayers,playingtime,maxplaytime,minplaytime,yearpublished,bggrecplayers,bggbestplayers,
- # bggrecagerange,bgglanguagedependence,publisherid,imageid,year,language,other,itemtype,barcode,
- # pricepaid,pp_currency,currvalue,cv_currency,acquisitiondate,acquiredfrom,quantity,privatecomment,
- # invlocation,invdate,version_publishers,version_languages,version_yearpublished,version_nickname
- fila_nombre = fila[ cabecera.index( 'objectname')]
- fila_id = fila[ cabecera.index( 'objectid')]
- fila_comment = fila[ cabecera.index( 'comment')]
- fila_rank = fila[ cabecera.index( 'rank')]
- fila_image = fila[ cabecera.index( 'imageid')]
- fila_numplays = fila[ cabecera.index( 'numplays')]
- fila_players = fila[ cabecera.index( 'minplayers')]+'-'+fila[ cabecera.index( 'maxplayers')]
- if fila[ cabecera.index( 'minplaytime')] != fila[ cabecera.index( 'maxplaytime')]:
- fila_tiempo = fila[ cabecera.index( 'minplaytime')]+'-'+fila[ cabecera.index( 'maxplaytime')]
- else:
- fila_tiempo = fila[ cabecera.index( 'minplaytime')]
- fila_dureza = fila[ cabecera.index( 'avgweight')][:4]
- cadena = '[[https://boardgamegeek.com/boardgame/'+fila_id+'|'+fila_nombre+']]'+os.linesep
- fout.write(cadena)
- fout.write('---> PAX [ '+fila_players+' ]'+os.linesep)
- fout.write('---> Peso [ '+fila_dureza+'/5 ]'+os.linesep)
- if fila_tiempo != "0":
- fout.write('---> Minutos [ '+fila_tiempo+' ]'+os.linesep)
- if fila_numplays != "0":
- fout.write('---> Partidas [ '+fila_numplays+' ]'+os.linesep)
- if fila[ cabecera.index( 'acquisitiondate')] != '':
- fout.write('---> Desde ['+fila[ cabecera.index( 'acquisitiondate')]+'] '+fila[ cabecera.index( 'acquiredfrom')]+os.linesep)
- if fila_comment != '':
- cadena = '---> Comentario: '+fila_comment+os.linesep
- fout.write(cadena)
- fout.write(os.linesep)
- fout.close()
Última modificación de la página el 08 May 2025 a las 20h23
Powered by
PmWiki