簡體   English   中英

根據列值將CSV分為單獨的excel文件,然后在保存之前更改excel的格式

[英]Splitting up a CSV into separate excel files based on a columns values, then change formatting of excel before saving

嗨,我是python的新手,但您的任務是創建一個執行以下操作的工具:1)打開一個csv文件2)將數據幀按單個列的值進行拆分3)然后將這些分組保存為單個excel工作簿並處理格式(可以根據新添加的數據向其中一個工作表添加圖表)

我找到了此代碼,該代碼將其分組並保存到csv。 我可以更改為excel格式,但是我確實在努力進行格式設置和圖表處理。 任何幫助將不勝感激。

gp = df.groupby('CloneID')
for g in gp.groups:
    path = 'CloneID' + str(g) + '.txt'
    gp.get_group(g).to_csv(path)

創建格式良好的excel工作表的一種簡單方法是預格式化模板 ,然后根據需要使用openpyxl填寫行。

在較高的級別上,您的項目應包括一個模板,該模板將是一個xlsx文件(excel)。 例如,如果您將項目命名為my_project ,則項目的結構應如下所示:

my_project
--__init__.py
--templates
----formated_excel.xlsx
--main.py

其中templates是目錄, formatted_excel是xlsx文件, main.py是您的代碼。

在main.py中,代碼的基本邏輯將如下所示:

import os
import openpyxl

TEMPLATE = os.path.join(os.path.dirname(os.path.abspath(__file__)),
                                    'templates', 'formated_excel.xlsx')

wb = openpyxl.load_workbook(TEMPLATE)
# to use wb[VALUE], your template must have a sheet called VALUE
data_sheet = wb['Data'] 

# have enumerate start at 2, as in most cases row 1 of a sheet 
# is the header
for row, value in enumerate(data, start=2): 
    data_sheet[f'A{row}'] = value

wb.save('my_output.xlsx')

這個示例是關於如何使用openpyxl的非常非常基本的說明。

請注意,我假設您使用的是python3,否則,在設置要寫入的data_sheet行時,必須使用適當的字符串格式。 Openpyxl還具有Chart Support ,您可以閱讀該指南以幫助您格式化圖表。

您沒有提供確切的操作或正在使用的數據的詳細信息,因此您將不得不擴展此示例以適合您的數據集。

暫無
暫無

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

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