Я пытаюсь импортировать 2 набора данных из одного рабочего стола Excel, они находятся в разных диапазонах. Во-первых, у меня есть функция, позволяющая мне вводить диапазон для извлечения данных из диапазона. Затем я хочу добавить данные каждого диапазона как 1 DataFrame. Код работает от извлечения данных для добавления данных. Я преобразовал его как DataFrame, но он все еще в списке. Когда я экспортирую в файл Excel, это только 2 строки данных, потому что есть 2 подсписка. Мой ожидаемый результат - 1 DataFrame, а не список, данные в строках и столбцах.
#code to import workbook
from openpyxl import load_workbook
from openpyxl.utils import get_column_interval
import re
#function allow me to enter range
def load_workbook_range(range_string, ws):
col_start, col_end = re.findall("[A-Z]+", range_string)
data_rows = []
for row in ws[range_string]:
data_rows.append([cell.value for cell in row])
return pd.DataFrame(data_rows, columns=get_column_interval(col_start, col_end))
# load workbook
wb = load_workbook(filename=b, read_only=True)
ws = wb.active
List = ['B24:D29','B2:D11'];
#create list for list and extra data from different range (List)
df_list=[]
for r in List:
y=load_workbook_range(r,ws)
f=pd.DataFrame(y)
f.columns = f.iloc[0]
g=f.drop(f.index[1])
df_list.append(g)
df_list
#output
[0 InComplete offer NaN Response
0 InComplete offer None Response
2 1 name Marie
3 2 a 13.7716
4 3 b 75.2104
5 4 c 26.8648,
0 InComplete offer NaN Response
0 InComplete offer None Response
2 1 name Marie
3 2 invest 13.7716
4 3 capital 75.2104
5 4 income 26.8648
6 5 expense 83.1496
7 6 school 43.5749
8 7 transport 85.2239
9 8 others 82.3117]
#if I export to excel file, it is a list
w = pd.DataFrame(df_list)
w.to_excel (new_path, index = False, header=True)
w
#output in excel file
0
0 0 InComplete offer NaN Response 0 InCo...
1 0 InComplete offer NaN Response 0 ...
#my expect output when export to excel file , look like below , in 3 different columns and multi rows.
0 InComplete offer NaN Response
0 InComplete offer None Response
2 1 name Marie
3 2 a 13.7716
4 3 b 75.2104
5 4 c 26.8648,
0 InComplete offer NaN Response
0 InComplete offer None Response
2 1 name Marie
3 2 invest 13.7716
4 3 capital 75.2104
5 4 income 26.8648
6 5 expense 83.1496
7 6 school 43.5749
8 7 transport 85.2239
9 8 others 82.3117
Благодарим вас за помощь и спасибо. M C