使用Pandas打开Excel文件

时间:2019-12-03 14:32:36

标签: python excel

我正在尝试打开有关熊猫的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

1 个答案:

答案 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)