簡體   English   中英

在 ZA7F5F35426B927411FC9231B53Z3 中從 excel 轉換為 csv 時,向 CSV 添加附加列

[英]Add additional column to CSV when converting from excel to csv in Python

我正在嘗試將帶有多張工作表的 excel 工作簿翻譯成多個 CSV。 在此轉換期間,我還想在前面添加一個附加列作為運行日期。 它正在工作,但額外的專欄讓我感到悲傷。 任何提示都會有所幫助。

def translate_xlsx_to_csv(files):
    file = files[0]
    print(file)
    obj = s3.meta.client.get_object(Bucket= BUCKET_NAME, Key= file)
    data = obj['Body'].read()
    data_xls = pd.read_excel(io.BytesIO(data) , sheet_name=None)
    try:
        if len(data_xls.keys())==5:
            for key, value in data_xls.items():
                filename = f"/tmp/{key}.csv"
                data_xls[key].to_csv(filename, encoding='utf-8', index=False)
                df = pd.read_csv(filename)
                run_date = datetime.today().strftime('%Y-%m-%d')
                df.insert(0, "run_date", run_date)
                df.to_csv(filename, encoding='utf-8', index=False)
    except Exception as e:
        raise (e)

我相信你可以嘗試這樣的事情:

def translate_xlsx_to_csv(files):
    file = files[0]
    print(file)
    obj = s3.meta.client.get_object(Bucket= BUCKET_NAME, Key= file)
    data = obj['Body'].read()
    data_xls = pd.read_excel(io.BytesIO(data) , sheet_name=None)
    try:
        if len(data_xls.keys())==5:
            for key, value in data_xls.items():
                filename = f"/tmp/{key}.csv"
                data_xls[key].to_csv(filename, encoding='utf-8', index=False)
                df = pd.read_csv(filename)
                run_date = datetime.today().strftime('%Y-%m-%d')

                ## Changing this:
                df["run_date"] = run_date
                ##

                df.to_csv(filename, encoding='utf-8', index=False)
    except Exception as e:
        raise (e)

這應該創建您正在尋找的附加列。 如果有幫助,請告訴我:D

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM