如何在Excel中提取格式化的细胞及其相应的行



所以,我的问题如下:

使用下面写的此脚本,我成功地格式化了提取的Excel纸中的某些单元格。它旨在接受任何Excel文件,只要它正确输入并且以相同的格式输入(出于我的目的,它始终以相同的格式)。

我的下一步(我的问题)是:如何抓住格式化的单元格及其相应的行,然后将这些行打印到新文件中。

使用一个非常相似的程序,我可以使用所选格式的Excel文件。但是不知道我的课程

def ready():
    print("Type the name of the excel file you wish to analyze.")
    while True:
        try:
            a_input = input(">> ")
            df = pd.read_excel("{}".format(a_input), parse_cols = "AS")
            df2 = pd.read_excel("{}".format(a_input), parse_cols = "B")
            df3 = pd.read_excel("{}".format(a_input), parse_cols = "A")
            df4 = pd.read_excel("{}".format(a_input), parse_cols = "D")
            df5 = pd.read_excel("{}".format(a_input), parse_cols = "C")
        except IOError:
            print("The file name was either entered incorrectly or is not in the directory")
        else:
            print("--------------------File Grab Successful--------------------")
            break
    time.sleep(2)
    print("Grabbing the required data.....nn")
    df.set_index('Last Date of Support', inplace=True)
    df2.set_index('Product Series', inplace=True)
    df3.set_index('Product Family', inplace=True)
    df4.set_index('Item Name', inplace=True)
    df5.set_index('Item Type', inplace=True)
    time.sleep(2)
    print("--------------Creating Excel Document with required data------------------nn")
    time.sleep(2)
    print("Type the name you want for the excel file that will be created. Be sure to add the file extension on the end (EX: filename.xlsx)")
    b_input = input(">> ")
    writer = pd.ExcelWriter('{}'.format(b_input), engine='xlsxwriter')
    df.to_excel(writer, sheet_name='Sheet1', startrow=-1, startcol=0)
    df2.to_excel(writer, sheet_name='Sheet1', startrow=-1, startcol=4)
    df3.to_excel(writer, sheet_name='Sheet1', startrow=-1, startcol=2)
    df4.to_excel(writer, sheet_name='Sheet1', startrow=-1, startcol=3)
    df5.to_excel(writer, sheet_name='Sheet1', startrow=-1, startcol=1)
    workbook = writer.book
    worksheet = writer.sheets['Sheet1']
    date = datetime.datetime.strptime('2018-01-01', "%Y-%m-%d")
    format1 = workbook.add_format({'bg_color': '#FFC7CE',
                                   'font_color': '#9C0006'})
    worksheet.conditional_format('A2:A20000', {'type': 'date',
                                              'criteria': 'less than',
                                              'value':  date,
                                              'format': format1})
    writer.save()
    print("Goodbye!")
    time.sleep(5)
ready()

使用一个非常相似的程序,我可以使用所选格式的Excel文件。但是不知道我的行动是什么。这是我尝试过的示例。

 format1 = workbook.add_format({'bg_color': '#FFC7CE',
                                   'font_color': '#9C0006'})
    for i in df == format1:
        print(i)

但我一直遇到错误。

对不起,编辑帖子,我在完成之前单击了预付款。

您写的循环不正确。那是因为df==format1等于布尔 True。如果仅在某种条件保持时才打印i,请执行:

upperBound = 1000
for i in range(upperBound):
    if df==format1:
        print(i)

最新更新