![](/img/trans.png)
[英]Is it possible to change values in excel columns based on python dictionaries?
[英]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.