Итак, в настоящее время я работаю над проектом, который выплевывает файлы Excel, содержащие данные для создания спектров (то есть длину волны в одном столбце, поглощение в другом). Существуют сотни файлов Excel этой природы, и я хочу сжать их в один файл. Это происходит главным образом потому, что столбец A (длина волны) идентичен для всех файлов, и только шансы поглощения между файлами. Поэтому я хотел бы взять столбцы A и B из первого файла в каталоге, записать их в новый лист Excel, затем взять только столбец B из всех оставшихся листов и распечатать их в тот же выходной файл Excel. Код, который у меня сейчас есть:
import os
import pandas as pd
from pandas import ExcelWriter
from pandas import ExcelFile
import glob
import numpy as np
def xlxtract():
for filename in glob.glob('*.xlsx'):
ExcelFile = filename[:-5]
RosewoodData = pd.read_excel(ExcelFile + '.xlsx')
Row = RosewoodData.values.tolist()
ColDataFrame = pd.DataFrame({'Wavelength (nm)': [ x[0] for x in Row], 'Absorbance':[ x[1] for x in Row]})
Writer = ExcelWriter(filename[:-5] + 'TEST' + '.xlsx')
ColDataFrame.to_excel(Writer, 'Sheet1', index=False)
Writer.save()
xlxtract()
Я признаю, что мой код в настоящее время просто читает все файлы и создает отдельный файл с похожим именем при печати точно таких же данных в новый файл и добавляет только имя столбца.
Я более чем рад сам разобраться в этом вопросе, если кто-нибудь может даже указать мне правильное направление на то, на что следует обратить внимание, но решения этого тоже хороши.