我正在尝试打开有关熊猫的Excel工作表。我在网上找到了一些有趣的tutorial。但是,我一直在尝试整理标题。
到目前为止,我一直在遵循以下代码:
import pandas as pd
pd.set_option('display.width', 300)
fuel_file = (r'C:\Users\Sarah\Desktop\test\test2.xlsx')
xl = pd.ExcelFile(fuel_file)
print(xl.sheet_names)
fuel_df = xl.parse("Moon", header=[1], index_col=[0,1,2])
print(fuel_df.head())
print(fuel_df.columns)
weeknumbers_list = list(fuel_df.columns)
spacecustomers = fuel_df.iloc[1]
start_position = 0
for weeknr_pos in positions_weeknumbers:
for pos in range(start_position, weeknr_pos):
weeknumbers_list[pos] = weeknumbers_list[weeknr_pos]
start_position = weeknr_pos + 1
weeknumbers_list[weeknr_pos] = "Remove"
fuel_df.columns = weeknumbers_list
fuel_df.drop("Remove", axis=1, inplace=True)
问题出在:
for weeknr_pos in positions_weeknumbers:
错误消息:
**for weeknr_pos in positions_weeknumbers: TypeError: 'int' object is not iterable**
我不知道如何定义positions_weeknumbers
。
答案 0 :(得分:1)
由于“ positions_weeknumbers”将具有一个int值,并且无法迭代一个int对象,因此出现错误“'int'对象不可迭代”。您必须在range()函数内指定int对象,如下所示:
import pandas as pd
pd.set_option('display.width', 300)
fuel_file = (r'C:\Users\Sarah\Desktop\test\test2.xlsx')
xl = pd.ExcelFile(fuel_file)
print(xl.sheet_names)
fuel_df = xl.parse("Moon", header=[1], index_col=[0,1,2])
print(fuel_df.head())
print(fuel_df.columns)
weeknumbers_list = list(fuel_df.columns)
spacecustomers = fuel_df.iloc[1]
start_position = 0
for weeknr_pos in range(positions_weeknumbers):
for pos in range(start_position, weeknr_pos):
weeknumbers_list[pos] = weeknumbers_list[weeknr_pos]
start_position = weeknr_pos + 1
weeknumbers_list[weeknr_pos] = "Remove"
fuel_df.columns = weeknumbers_list
fuel_df.drop("Remove", axis=1, inplace=True)