【问题标题】:How to create a hierarchical csv file?如何创建分层 csv 文件?
【发布时间】:2017-12-01 07:50:14
【问题描述】:

我在 Excel 中有 N 个发票数据,我想创建该文件的 CSV,以便可以在需要时导入...那么我该如何存档呢?

这里是截图:

【问题讨论】:

  • 无法获取hierarchical csv 文件是什么意思?
  • “另存为... -> CSV”怎么样?
  • @MrE 这是单张发票,我有 N 张发票
  • @Haranadh 我有 account_invoice、customer、date 和下面这些名称、product_id、quantity...

标签: python csv odoo-9 odoo-10


【解决方案1】:

假设您的项目目录中有一个文件夹 "excel" 充满 Excel 文件,并且您还有另一个文件夹 "csv" 打算放置生成的 CSV 文件,您可以很容易地 batch-convert 所有 Excel使用 Pandas 将 "excel" 目录中的文件放入 "csv"

假设您的系统上已经安装了Pandas。否则,您可以通过:pip install pandas 进行操作。下面的评论相当不错的片段说明了这个过程:

# 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)

希望这对你有用.....
干杯,祝你好运。

【讨论】:

    【解决方案2】:

    您可以按照以下步骤进行,而不是将总输出放入一个 csv 中。

    1. 将您的 excel 内容转换为 csv 文件或 csv 对象。

    2. 每个对象都将被标记为发票 ID 并保存到字典中。

    3. 您的字典数据结构可能类似于 {'invoice-id': csv-object, 'invoice-id2': csv-object2, ...}
    4. 编写自定义函数,它可以读取您的 csv 对象,并为您提供 名称、产品 ID、数量等...

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2020-08-18
      • 1970-01-01
      • 1970-01-01
      • 2021-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-11
      • 2016-05-28
      相关资源
      最近更新 更多