added `it-ur1-l1p5.tsv`, which contains the it hardware bought by ur1 in 2019 in the format expected by labo1.5
This commit is contained in:
parent
3163224c8c
commit
fff972cb23
|
@ -82,3 +82,11 @@ critique:
|
|||
- id2767 samsung 860 evo le libellé ne précise pas la capacité (cette même réf est utilisée pour des disques dur de différent capacité)
|
||||
|
||||
|
||||
### généré it-cnrs-l15.tsv
|
||||
|
||||
critique:
|
||||
- peu de lignes comparé à cnrs... est-ce normal ?
|
||||
- libellé incomplet
|
||||
- id527 - l'écran n'apparait même pas dans le libellé alors que je sais qu'il y en a un
|
||||
- beaucoup de libellés qui ne contiennent pas le numéro de modèle
|
||||
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
Centre financier Elément d'OTP Document d'achat Fournisseur/Division fourn. Date du document Code TVA Désignation Date livraison Valeur totale en cours Reste à livrer (quantité) Livraison finale Reste à facturer (quantité) Facture finale Immobilisation Groupe marchandises Texte Correspondance Créateur commande comment
|
||||
21 991R423 17CQ423-S0 4500458349.0 7976 DELL 2019-02-14 DK LATITUDE 5590 - Portable conf.n°2 2019-02-25 1616.8 0 X 0 126639.0 IA.11 Danièle, Le numéro d'ordre n'est pas cor DE MOREL DANIELE
|
||||
38 991R423 17CQ423-S0 4500463111.0 7976 DELL 2019-03-28 DJ Acessoires pour LATITUDE 5 DELL 2019-04-15 81.74 0 X 0 X IA.24 BC soldé mail Danièle 14/06/19 Danièle, DE MOREL DANIELE
|
||||
39 991R423 17CQ423-S0 4500463928.0 4945 MISCO INMAC WSTORE 2019-04-03 DJ Disque dur 1 To devis joint 2019-04-15 71.92 0 X 0 X IA.23 bc soldé à la demande de Danièle DE MOREL DANIELE
|
||||
64 991R423 17CQ423-S0 4500474750.0 7976 DELL 2019-07-16 DJ Accessoires DELL : sac à dos,cable,clé 2019-07-20 82.94 0 X 0 IA.24 DE MOREL DANIELE
|
||||
233 991R423 17CQ423-G0 4500479590.0 7976 DELL 2019-10-01 DK PC portable DELL pour MARIETTE Céline 2019-10-28 1474.61 0 X 0 127281.0 IA.11 num IMMO = 127281 num etiquette 052108 LECLAIRE FRANCIS modèle ?
|
||||
234 991R423 17CQ423-G0 4500479590.0 7976 DELL 2019-10-01 DJ Eco contribution 2019-10-28 2.21 0 X 0 X IA.11 num IMMO = 127281 num etiquette 052108 LECLAIRE FRANCIS
|
||||
237 991R423 17CQ423-G0 4500481443.0 7976 DELL 2019-10-14 DJ CAT1_Configuration n°1 - Latitude 3400 2019-10-28 900.04 0 X 0 IA.11 LECLAIRE FRANCIS
|
||||
238 991R423 17CQ423-G0 4500481449.0 7976 DELL 2019-10-14 DJ Cat1-Configuration1-Optiplex 5070 2019-10-28 883.85 0 X 0 IA.01 erreur de numéro de contrat. Il y a plus LECLAIRE FRANCIS
|
||||
292 991R423 17CQ423-B0 4500466068.0 4945 MISCO INMAC WSTORE 2019-04-26 DJ 4 Disques dur externe réf. 2963591 2019-05-02 378.62 0 X 0 IA.23 DE MOREL DANIELE
|
||||
294 991R423 17CQ423-B0 4500467898.0 4945 MISCO INMAC WSTORE 2019-05-14 DJ consom. inform. (clé, cable, cordon) 2019-12-20 52.9 0 X 0 IA.24 DE MOREL DANIELE
|
||||
321 991R423 17CQ423-B0 4500480354.0 7976 DELL 2019-10-07 DJ "Moniteur 27""-P27 19H" 2019-10-28 248.4 0 X 0 IA.01 erreur de numéro de contrat. il s'agit d LECLAIRE FRANCIS
|
||||
322 991R423 17CQ423-B0 4500480354.0 7976 DELL 2019-10-07 DJ eco contribution 2019-10-28 3.0 0 X 0 IA.01 erreur de numéro de contrat. il s'agit d LECLAIRE FRANCIS
|
||||
323 991R423 17CQ423-B0 4500481836.0 16783 ECONOCOM 2019-10-16 DJ "Philips moniteur 32"" LED Brillance p-Lin" 2019-10-28 491.58 0 X 0 IA.24 LECLAIRE FRANCIS
|
||||
335 991R423 17CQ423-F0 4500458618.0 16783 ECONOCOM 2019-02-18 DJ Apple adaptateur Thunderbolt 3 2019-02-25 45.67 0 X 0 IA.24 DE MOREL DANIELE
|
||||
337 991R423 17CQ423-F0 4500459260.0 4945 MISCO INMAC WSTORE 2019-02-26 DJ CLES USB VERBATIM REF.49065 2019-03-04 149.88 0 X 0 IA.23 Erreur de numéro de poste Nicolas DE MOREL DANIELE
|
||||
382 991R423 17CQ423-F0 4500467350.0 4945 MISCO INMAC WSTORE 2019-05-09 DJ cons.informatiques (disque dur, souris.. 2019-05-20 140.47 0 X 0 IA.24 DE MOREL DANIELE
|
||||
458 991R423 17CQ423-E0 4500481443.0 7976 DELL 2019-10-14 DJ compélement CAT1 conf n°1 2019-10-28 0.32 0 X 0 IA.11 LECLAIRE FRANCIS
|
||||
461 991R423 17CQ423-E0 4500484012.0 7976 DELL 2019-11-04 DJ "Moniteur 27"" - Ecran panoramique" 2019-11-25 407.4 0 X 0 IA.01 erreur de n° de marché Attention à bien LECLAIRE FRANCIS
|
||||
509 991R423 17CQ423-A0 4500466536.0 7976 DELL 2019-05-02 DK ORDINATEUR PORTABLE LUCILE RUTKOWSKI 2019-05-15 2205.84 0 X 0 126799.0 IA.11 immo: 126799 code barre: 051358 MARCAULT MAGALI modèle ? + écran ?
|
||||
527 991R423 17CQ423-A0 4500469692.0 7976 DELL 2019-05-28 DK Ordinateur portable Guillaume Raffy 2019-06-17 1981.57 0 X 0 X 126871.0 IA.11 numéro immo 126871 étiquette 051357 MARCAULT MAGALI latitude 7490 + écran u2719d
|
||||
530 991R423 17CQ423-A0 4500472335.0 7976 DELL 2019-06-25 DK PORTABLE LATITUDE DEV. 100000519892 2019-07-01 1680.16 0 X 0 X 126927.0 IA.11 immo: 126927 Etiquette: 051641 DE MOREL DANIELE modèle ?
|
||||
545 991R423 17CQ423-A0 4500478894.0 7976 DELL 2019-09-25 DJ DELL mémoire mise niveau 16-GO 2019-09-30 906.84 0 X 0 IA.32 Bonjour, le devis n'est que pour une bar LECLAIRE FRANCIS
|
||||
556 991R423 17CQ423-A0 4500482087.0 7976 DELL 2019-10-17 DK Cat3_Configuration n°1 Latitude 7400 2019-11-18 1675.1 0 X 0 127312.0 IA.11 IMMO 127312 Etiquette 052037 LECLAIRE FRANCIS
|
||||
578 991R423 17CQ423-A0 4500483795.0 16783 ECONOCOM 2019-10-29 DJ Apple souris sans fil magic mouse 2 argt 2019-11-18 70.55 0 X 0 IA.24 LECLAIRE FRANCIS
|
||||
579 991R423 17CQ423-A0 4500483795.0 16783 ECONOCOM 2019-10-29 DJ Apple adaptateur secteur 2019-11-18 73.92 0 X 0 IA.24 LECLAIRE FRANCIS
|
||||
583 991R423 17CQ423-A0 4500484318.0 7976 DELL 2019-11-05 DJ CAT2 CONFIG 2 OPTIPLEX 7070 FORMAT MT 2019-11-25 897.98 0 X 0 IA.01 LECLAIRE FRANCIS
|
||||
589 991R423 17CQ423-A0 4500484523.0 7976 DELL 2019-11-05 DJ "Moniteur 27"" Écran + sac à dos Dell" 2019-11-25 306.6 0 0 IA.24 le disque dur et le casque sont à passer LECLAIRE FRANCIS
|
||||
590 991R423 17CQ423-A0 7976 DELL 2019-11-05 DJ Casque Pro sans fil Bluetooth 2019-11-25 165.6 0 0 IA.24 le disque dur et le casque sont à passer LECLAIRE FRANCIS
|
||||
591 991R423 17CQ423-A0 7976 DELL 2019-11-05 DJ Câble réseau RJ45 2019-11-25 24.0 0 0 IA.24 le disque dur et le casque sont à passer LECLAIRE FRANCIS
|
||||
592 991R423 17CQ423-A0 7976 DELL 2019-11-05 DJ Disque dur externe 2To 2019-11-25 108.0 0 0 IA.24 le disque dur et le casque sont à passer LECLAIRE FRANCIS
|
||||
593 991R423 17CQ423-A0 4500484523.0 7976 DELL 2019-11-05 DJ Sac à dos Dell Pro 2019-11-25 40.32 0 0 IA.24 le disque dur et le casque sont à passer LECLAIRE FRANCIS
|
||||
613 991R423 17CQ423-A0 4500484656.0 4945 MISCO INMAC WSTORE 2019-11-06 DJ PLANTRONICS Voyager 8200 UC Noir 2019-11-25 298.52 0 X 0 IA.24 LECLAIRE FRANCIS
|
||||
614 991R423 17CQ423-A0 4500484825.0 7976 DELL 2019-11-06 DJ "Moniteur 27"" + sac à dos DELL" 2019-11-25 306.6 0 X 0 IA.24 LECLAIRE FRANCIS
|
Can't render this file because it has a wrong number of fields in line 2.
|
|
@ -0,0 +1,24 @@
|
|||
id Modele Fabricant Type
|
||||
|
||||
21 latitude 5590 dell pc portable
|
||||
39 1 To disque dur
|
||||
233 dell pc portable
|
||||
237 latitude 3400 dell pc portable
|
||||
238 optiplex 5070 dell pc fixe
|
||||
292 disque dur externe disque dur
|
||||
292 disque dur externe disque dur
|
||||
292 disque dur externe disque dur
|
||||
292 disque dur externe disque dur
|
||||
321 p2719h dell écran
|
||||
323 led brilliance p-line 32" philips écran
|
||||
461 écran panormaique 27" dell écran
|
||||
509 dell pc portable
|
||||
527 latitude 7490 dell pc portable
|
||||
527 u2719d dell écran
|
||||
530 latitude dell pc portable
|
||||
556 latitude 7400 dell pc portable
|
||||
578 magic mouse 2 apple souris
|
||||
583 optiplex 7070 dell pc fixe
|
||||
589 moniteur 27" dell écran
|
||||
592 externe 2 To disque dur
|
||||
614 moniteur 27" dell écran
|
Can't render this file because it contains an unexpected character in line 13 and column 29.
|
|
@ -0,0 +1,101 @@
|
|||
#!/usr/bin/env python3
|
||||
from pathlib import Path
|
||||
import re
|
||||
import pandas
|
||||
|
||||
|
||||
# converts a cnrs geslab type t001 report to a single table
|
||||
def sifact002_to_sheet(sifact002_dir: Path, out_tsv_file_path: Path):
|
||||
|
||||
dept_names = [
|
||||
'DIRECTION',
|
||||
'MAT.NANO.SCIENCES',
|
||||
'MATERIAUX ET LUMIERE',
|
||||
'MATIERE MOLLE',
|
||||
'MECA VERRES',
|
||||
'MILIEU DIVISE',
|
||||
'PHYSIQUE MOLECULAIRE'
|
||||
]
|
||||
|
||||
with open(out_tsv_file_path, 'wt') as outf:
|
||||
out_header_has_been_written = False
|
||||
for dept_name in dept_names:
|
||||
src_file_path = sifact002_dir / ('2019.' + dept_name + '.xls')
|
||||
tmp_file_path = Path('./tmp') / ('2019.' + dept_name + '.tsv')
|
||||
df = pandas.read_excel(src_file_path)
|
||||
df.to_csv(tmp_file_path, sep='\t')
|
||||
|
||||
with open(tmp_file_path) as inf:
|
||||
in_header_has_been_read = False
|
||||
for line in inf.readlines():
|
||||
if in_header_has_been_read:
|
||||
outf.write(line)
|
||||
else:
|
||||
# this line is the header only output it if it's the 1st header
|
||||
in_header_has_been_read = True
|
||||
if not out_header_has_been_written:
|
||||
outf.write(line)
|
||||
out_header_has_been_written = True
|
||||
|
||||
# add an index
|
||||
df = pandas.read_csv(out_tsv_file_path, sep='\t')
|
||||
# df.rename(columns={0: 'uid'})
|
||||
# df['id'] = range(1, len(df) + 1)
|
||||
# df.insert(0, 'id', df.pop('id'))
|
||||
# df = df[-1:] + df[:-1] # put the id column in the first column
|
||||
df.to_csv(out_tsv_file_path, sep='\t')
|
||||
|
||||
# with open(in_tsv_file_path) as inf, open(out_tsv_file_path, 'wt') as outf:
|
||||
# table_header_has_been_written = False
|
||||
# for line in inf.readlines():
|
||||
# ignore_line = False
|
||||
# # Entité dépensière : AESJULLIEN AES RENNES METROPOLE MC JULLIEN Crédits reçus : 40,000.00
|
||||
# # Disponible : 24,743.14
|
||||
# #
|
||||
# #
|
||||
# # N° commande Souche Libellé commande Date commande Raison sociale fournisseur Montant consommé sur exercice antérieur Montant consommé sur l'exercice Montant réservé Montant facturé Code origine Nature dépense Statut Cde groupée
|
||||
# if re.match(r'^Entité dépensière', line):
|
||||
# ignore_line = True # noqa
|
||||
# is_table_header = re.match(r'^N° commande', line) is not None
|
||||
# # 19,572.00 19AESMCJ CAMERA ZYLA 5.5 sCMOS 04/11/19 ANDOR TECHNOLOGY LIMITED 0.00 13,681.56 0.00 0.00 635991 IM
|
||||
# if is_table_header and not table_header_has_been_written:
|
||||
# outf.write('# %s' % line)
|
||||
# table_header_has_been_written = True
|
||||
# if re.match(r'^[0-9,./]+\t', line):
|
||||
# outf.write(line)
|
||||
|
||||
|
||||
def sifact002_to_itorders(sifact002_dir: Path, itorders_file_path: Path):
|
||||
sheet_file_path = Path('./tmp/commandes-2019-ur1.tsv')
|
||||
sifact002_to_sheet(sifact002_dir, sheet_file_path)
|
||||
|
||||
df = pandas.read_csv(sheet_file_path, sep='\t')
|
||||
|
||||
# delete the colums for which the label is of the form 'Unnamed: <n>'. They come from the csv export of libre office
|
||||
unnamed_columns = [column_label for column_label in df.keys() if re.match(r'^Unnamed', column_label) is not None]
|
||||
print(unnamed_columns)
|
||||
df = df.drop(columns=unnamed_columns)
|
||||
|
||||
print(df.columns)
|
||||
print(df.keys())
|
||||
print(df)
|
||||
it_df = df[(df['Fournisseur/Division fourn.'] == '7976 DELL') |
|
||||
(df['Fournisseur/Division fourn.'] == '16783 ECONOCOM') |
|
||||
(df['Fournisseur/Division fourn.'] == '4945 MISCO INMAC WSTORE')
|
||||
]
|
||||
|
||||
# 'AMAZON EU SARL SUCCURSALE FRANCAISE'
|
||||
# 'INMAC'
|
||||
# 'RETIS'
|
||||
# 'APIXIT'
|
||||
print(it_df)
|
||||
|
||||
# print(it_df[['Montant facturé', 'Raison sociale fournisseur', 'Libellé commande']])
|
||||
it_df.to_csv(itorders_file_path, sep='\t')
|
||||
|
||||
|
||||
def main():
|
||||
sifact002_to_itorders(Path('./achats-ipr/2019/ur1/from_ddemorel'), Path('./tmp/commandes-it-2019-ur1-002.tsv'))
|
||||
|
||||
|
||||
main()
|
Loading…
Reference in New Issue