Python 创建新工作簿时保持Excel格式
我的代码:Python 创建新工作簿时保持Excel格式,python,excel,pandas,format,openpyxl,Python,Excel,Pandas,Format,Openpyxl,我的代码: import os import glob import pandas as pd for csvfile in glob.glob(os.path.join('.', '*.csv')): df = pd.read_csv(csvfile) col_test = df['Test #'].tolist() col_retest = df['Retest #'].tolist() data = pd.read_excel('PATH') start_row = 4 f
import os
import glob
import pandas as pd
for csvfile in glob.glob(os.path.join('.', '*.csv')):
df = pd.read_csv(csvfile)
col_test = df['Test #'].tolist()
col_retest = df['Retest #'].tolist()
data = pd.read_excel('PATH')
start_row = 4
for i, val in enumerate(col_y):
data.iloc[start_row + i, 21] = val
i += 1
writer = pd.ExcelWriter('output_c.xlsx')
data.to_excel(writer, 'NewSheet')
现在,这将创建一个新工作簿,将CSV数据输入到加载的工作表中
我想做的是做以下两件事之一:
.csv
数据中的值用于布尔逻辑语句,以填充工作簿中的另一个工作表如何在保留格式的同时做到这一点?不幸的是,常规工具无法真正修改或读取现有Excel文件的格式。我能想出一些解决办法,尽管它们都不漂亮
正如Charlie Clark提到的,你可以用它来读/写你的excel文件。有几个库可用于读取excel文档,但ime openpyxl是最健壮的库,在使用pandas时最容易使用。它将保留excel文件中的任何格式(也保留宏) 要打开文件,只需执行以下操作:
Workbook = openpyxl.load_workbook(filename, read_only=False)
Sheet = Workbook.get_sheet_by_name(sheetname)
要将文件保存回原处,请执行以下操作:
Workbook.save(outputfilename)
您可以使用openpyxl或作为数据帧处理数据。如果添加任何新行/列,则需要格式化这些行/列。他们不会像在Excel中编辑一样自动采用文件其余部分的格式。Openpyxl有一个用于进行格式设置的工具,或者您可以使用以下方法复制相邻单元格的格式设置:
NewCell.number_format = OldCell.number_format
NewCell.alignment = copy(OldCell.alignment)
欢迎来到堆栈溢出!您似乎在要求某人为您编写一些代码。堆栈溢出是一个问答网站,而不是代码编写服务。请学习如何编写有效的问题。openpyxl可用于编辑现有文件,通常会保留现有格式。