Определить ячейку, в которой xlsxwriter начнет запись

#python #excel #xlsx #xlsxwriter

#python #excel #xlsx #xlsxwriter

Вопрос:

я должен заполнить файл xlsx содержимым с помощью xlsx writer.

Я собираю данные с помощью pandas из существующего файла xlsx и создаю набор данных «dataset_dn_1» (все NaN будут заполнены строкой из ’empty’ :

 data = pd.read_excel(file, skiprows=2)
dataset_s1_dn = pd.DataFrame(data, columns=['dn'])
dataset_s1_dn['dn'] = dataset_s1_dn['dn'].fillna(empty)
 

это работает нормально.
После этого я записываю столбец в запись и составляю из него список (я должен использовать список, потому что я не хочу переопределять все содержимое в целевом файле из-за форматирования):

 rec_1 = dataset_s1_dn.to_records(index=False)
list_1 = list(rec_1)
 

Работает также хорошо.

Теперь я хочу записать столбец в файл назначения со следующим циклом:

 for row, line in enumerate(list_1):
    for col, cell in enumerate(line):
        worksheet1.write(row, col, cell)
 

Это работает, но я хочу начать запись в ячейке A4, а не A1.
Я попробовал следующее, но получил сообщение об ошибке:

 worksheet1.write('A4', row, col, cell)
worksheet1.write(0, 3, row, col, cell)
 

оба не работают.

Сообщение об ошибке:

 TypeError: _write_number() takes from 4 to 5 positional arguments but 6 were given
 

Ответ №1:

Это работает, но я хочу начать запись в ячейке A4, а не A1.

Вероятно, что-то подобное должно сработать:

 for row, line in enumerate(list_1):
    for col, cell in enumerate(line):
        worksheet1.write(row   3, col, cell)
 

Комментарии:

1. да, это отлично работает! я нашел это на данный момент для себя и хочу ответить на свой собственный ответ, а затем увидел ваш пост! : D но все равно спасибо.