Запись в точную ячейку в Excel с использованием Python - PullRequest
0 голосов
/ 05 августа 2020

Большое спасибо за вашу помощь! Это мой код: мне просто нужно запустить один раз, поэтому 1 итерация, это решение? В столбце B остается одно открытое пространство, а затем добавляется цифра «2». Вероятно, потому что он смотрит на индекс:

import pandas as pd
from pathlib import Path

data_folder = Path(PATH)

file_to_open = data_folder / "excelbestand.xlsx"

df = pd.read_excel(file_to_open)

data_x = 4
data_y = 2

  
df.loc[df.index.max()+1, ['A']] = data_x

df.loc[df.index.max()+1,['B']] = data_y

df.to_excel(file_to_open, index = False)

Ответы [ 2 ]

0 голосов
/ 06 августа 2020

Как видите, pd.ilo c очень мощный: df.iloc [номер строки, номер столбца]: столбцы: A, B, C, номер столбца D = 0,1,2,3

import pandas as pd
from pathlib import Path

data_folder = Path(PATH)

file_to_open = data_folder / "excelbestand.xlsx"

df = pd.read_excel(file_to_open)

num_iterations = 1
data_x = 4
i=0
##### In this while you are appending the count of column "A" to the end of column "A"

while i <= num_iterations:   
    df.loc[df.index.max()+1, 0] = [data_x]
    i += 1
###########code for adding to las cell of column B 
i2 = 0    
while i2 <= num_iterations:
    df.loc[df.index.max()+1,1] = [data_x]
    i += 1

df.to_excel(file_to_open, index = False)
0 голосов
/ 05 августа 2020

Прежде всего, похоже, что вам сначала нужно прочитать фрейм данных в pandas, поэтому:

import pandas as pd

df = pandas.read_excel("name_your_file.xlsx",sheet_name = 'name_your_sheet')
num_iterations = 10 # Number of times you want to perform action
while i <= num_iterations:
    data_x = df['A'].count()
    df.loc[df.index.max()+1] = [data_x]
...