2017-06-28 1 views
-1

J'ai un nombre N de données de facture dans Excel et je veux créer un fichier CSV de ce fichier afin qu'il puisse être importé en cas de besoin ... alors comment puis-je l'archiver?Comment créer un fichier csv hiérarchique?

Voici une capture d'écran:

enter image description here

+0

n'a pas pu obtenir ce que vous voulez dire le fichier 'hiérarchique csv'? – Haranadh

+3

Qu'en est-il de 'enregistrer sous ... -> CSV'? – MrE

+0

@MrE ceci est facture unique j'ai N nombre de facture –

Répondre

0

Au lieu de mettre la production totale en une seule csv, vous pouvez aller avec les étapes suivantes.

  1. Convertissez votre contenu Excel en fichiers CSV ou en objets CSV.

  2. Chaque objet sera marqué avec l'ID de facture et sauvegardé dans un dictionnaire.

  3. votre structure de dictionnaire de données pourrait être comme { '-id facture': csv-objet, 'facture-ID2': csv-object2, ...}
  4. écriture fonction personnalisée qui peut lit votre csv-objet , et vous donne nom, produit-id, quantité, etc ...

Espérons que cela aide.

1

En supposant que vous avez un dossier "excel" complet des fichiers Excel dans votre projet Directory et vous avez également un autre dossier "csv" où vous avez l'intention de mettre votre produit des fichiers CSV, vous pouvez à peu près facilement batch-convert tous les fichiers Excel dans le "excel" Directory en "csv" en utilisant Pandas. On suppose que Pandas est déjà installé sur votre système. Sinon, vous pouvez le faire via: pip install pandas. L'entrefilet assez commenté ci-dessous illustre le processus:

# IMPORT DATAFRAME FROM PANDAS AS WELL AS PANDAS ITSELF 
from pandas import DataFrame 
import pandas as pd 
import os 


# OUR GOAL IS::: 
# LOOP THROUGH THE FOLDER: excelDir..... 
# AT EACH ITERATION IN THE LOOP, CHECK IF THE CURRENT FILE IS AN EXCEL FILE, 
# IF IT IS, SIMPLY CONVERT IT TO CSV AND SAVE IT: 

for fileName in os.listdir(excelDir): 
    #DO WE HAVE AN EXCEL FILE? 
    if fileName.endswith(".xls") or fileName.endswith(".xlsx"): 
     #IF WE DO; THEN WE DO THE CONVERSION USING PANDAS... 
     targetXLFile = os.path.join(excelDir, fileName) 
     targetCSVFile = os.path.join(csvDir,  fileName) + ".csv" 

     # NOW, WE READ "IN" THE EXCEL FILE 
     dFrame   = pd.read_excel(targetXLFile) 

     # ONCE WE DONE READING, WE CAN SIMPLY SAVE THE DATA TO CSV 
     pd.DataFrame.to_csv(dFrame, path_or_buf=targetCSVFile) 

Hope this fait le tour pour vous .....
Vive et de bon chance.