Я хочу записать данные в столбцы Excel с помощью XlsxWriter. Один «набор» данных записывается для каждой итерации. Каждый набор должен быть написан в отдельной колонке. Как мне это сделать?
Я пытался играть вокруг со значением col
следующим образом:Возможно ли создать новый столбец для каждой итерации в XlsxWriter
- В
[1]
я определяюi=0
вне цикла, а затем увеличить его с помощью1
и установитьcol=i
. Когда это будет сделано, выход будет пустым. Для меня это наиболее логичное решение & Я не знаю, почему это не сработает. - В
[2]
i
определяется внутри цикла. Когда это происходит, один столбец записывается. [3]
Я определяюcol
стандартный способ. Это работает так, как ожидалось: одна колонка написана.
Мой код:
import xlsxwriter
txt_file = open('folder/txt_file','r')
lines = dofile.readlines()
# [1]Define i outside the loop. When this is used output is blank.
i = 0
for line in lines:
if condition_a is met:
#parse text file to find a string. reg_name = string_1.
elif condition_b:
#parse text file for a second string. esto_name = string_2.
elif condition_c:
#parse text file for a group of strings.
# use .split() to append these strings to a list.
# reg_vars = list of strings.
#[2] Define i inside the loop. When this is used one column gets written. Relevant for [1] & [2].
i+=1 #Increment for each loop
row=1
col=i #Increments by one for each iteration, changing the column.
#[3] #Define col =1. When this is used one column also gets written.
col=1
#Open Excel
book= xlsxwriter.Workbook('folder/variable_list.xlsx')
sheet = book.add_worksheet()
#Write reg_name
sheet.write(row, col, reg_name)
row+=1
#Write esto_name
sheet.write(row, col, esto_name)
row+=1
#Write variables
for variable in reg_vars:
row+=1
sheet.write(row, col, variable)
book.close()
Хм, не уверен, что решает итерацию через столбцы? –
См. Обновление выше. – jmcnamara