首页 > 解决方案 > 为什么使用 pandas 和 xlsxwriter 会出现值错误?

问题描述

我正在尝试制作一个脚本,该脚本使用 pandas 从 Excel 中的一行中读取一些值,为该行中的每个值循环一个操作,并将其中的一些信息输入到一个新的 Excel 文档中。我在 pandas 中使用 interrows 命令来循环遍历行中的值。

错误:

ValueError:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。

我知道 pandas 和 if 语句不能很好地协同工作,你最终会得到这个错误。我没有任何 if 语句。我对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()

标签: pythonpython-3.xpandasxlsxwriter

解决方案


我认为您的问题来自双重调用变量“行”。一次作为 for 循环中的事物,然后再次在 write 语句中。尝试这样的事情:

row = 0
col = 0

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

推荐阅读