Почему я получаю ошибку значения, используя pandas и xlsxwriter? - PullRequest
2 голосов
/ 14 июня 2019

Я пытаюсь создать скрипт, который использует панды для чтения некоторых значений из строки в Excel, зациклить действие для каждого значения в строке и передать часть этой информации в новый документ Excel. Я использую команду interrows в pandas для циклического перебора значений в строке.

Ошибка:

ValueError: Значение истинности Серии неоднозначно. Используйте a.empty, a.bool (), a.item (), a.any () или a.all ().

Я понимаю, что панды и если утверждения не работают вместе, и вы в конечном итоге получите эту ошибку. У меня нет никаких утверждений, если. Я довольно плохо знаком с Python и не понимаю, почему я получаю эту ошибку.

import pandas as pd
import xlsxwriter

workbook = xlsxwriter.Workbook(r'C:Users\user\output.xlsx')
worksheet = workbook.add_worksheet()

data = pd.read_excel (r'C:\Users\user\input.xlsx')
df = pd.DataFrame(data, columns= ['AlarmID'])

row = 0
col = 0

for index, row in df.iterrows():
    worksheet.write(row, col, "text")
workbook.close()

1 Ответ

1 голос
/ 14 июня 2019

Я думаю, что ваша проблема в двойном вызове переменной "row". Один раз как вещь в цикле for, а затем снова в операторе write. Попробуйте что-то вроде этого:

row = 0
col = 0

for item in df.iterrows():
    worksheet.write(row,col, "text")
    row+=1   
workbook.close()
...