每当我尝试运行代码时,都会出现此错误。我认为列表的summary_name
和summary
列表均无效。
错误:
File "C:/Users/Asus/Google Drive/Sun Gleam & Fine Works/System Improvement/Accounting/Voucher Reports/Voucher Reports", line 12, in <module>
summary_name[i] = data_listofaccounts['Account Name']
NameError: name 'summary_name' is not defined
代码:
import pandas as pd
import matplotlib.pyplot as plt
entries_csv = "C:\\Users\\Asus\\Desktop\\Entries.csv"
listofaccounts_csv = "C:\\Users\\Asus\\Desktop\\List of Accounts.csv"
data_entries = pd.read_csv(entries_csv)
data_listofaccounts = pd.read_csv(listofaccounts_csv)
i = 0
for account_name in data_listofaccounts['Account Name']:
summary_name[i] = data_listofaccounts['Account Name']
for debit_account in data_entries['DEBIT ACCOUNT']:
if account_name == debit_account:
summary[i] += data_entries['DEBIT AMOUNT']
i += 1
for p in range(i):
print(summary[p])
print(summary_name[p])
答案 0 :(得分:1)
此
summary_name[i]
假定已经存在名称为summary_name
的东西,并且允许使用[i]
进行访问。由于Python是一种动态语言,因此可以是任何东西。在对象上使用[i]
所需要做的就是实现object.__getitem__
用于读取,object.__setitem__
用于写入。 Python应该如何知道要让summary_name
成为实例的众多类中的哪一个?
因此,您首先必须定义summary_name
,例如,将其定义为空列表
summary_name = ["I", "am", "a", "list"]
元组
summary_name = ("I", "am", "a", "tuple")
或字符串
summary_name = "I am a string."
所有这些都允许使用summary_name[i]
进行 read 访问。
由于要使用 write 访问权限,因此必须定义一个允许summary_name[i] = something
的对象。可以使用
None
summary_name = [None] * 100
只有在此之后,您才能设置此列表的条目。