xlsxwriter 输出格式

xlsxwriter OUTPUT formatting

我有一个 if else 语句。我想做的是。

我正在循环查看是否有关于某些内容的特定文本(如果有的话); 如果该字段不为空,则将该文本添加到我的特定列的输出中。然而,它似乎让所有字段都为空。

这是我的代码

for items in parseBio1:

        if "Snapchat" in items:
            worksheet.write_string(row+1,col+13,items)
        else:
            worksheet.write_string(row,col+13,"None")

        if "com" in items:
            worksheet.write_string(row+1, col+11, items)
        else:
            worksheet.write_string(row,col+11,"None")

这是我得到的输出。

根据要求。这是我解析输入的方式

parseBio1 = parseBio.split('\n')
    row+=1

    for items in parseBio1:

        if "Snapchat" in items:
            worksheet.write_string(row+1,col+13,items)
        else:
            worksheet.write_string(row,col+13,"None")

当我像这样删除 else 语句时会发生这种情况:

for items in parseBio1:

        digit = items.isdigit()


        if "Snapchat" in items:
            worksheet.write_string(row+1,col+13,items)

        if "com" in items:
            worksheet.write_string(row+1, col+11, items)

输出看起来乱七八糟,不在预期的位置。 在这种情况下。第 0 行项目 'snapchat' 字段在第 1 行中,对于这样的不同用户

如果我的理解正确,那么您正在循环访问由“\n”分隔的字符串列表。如果是这样,您的 if 语句的条件可能会稍微不准确。您可能正在尝试查找以不同大小写书写的单词,其中 python 不包括:

>> x = "Testing the waters"
>> "test" in x
False

因此,我建议您对条件中的项目调用 .lower(),并将它们与全小写单词进行比较。

for items in parseBio1:

    # Try to call .lower() on items and compare to an all lowercase string
    if "snapchat" in items.lower():
        worksheet.write_string(row+1,col+13,items)
    else:
        worksheet.write_string(row,col+13,"None")

    if "com" in items.lower():
        worksheet.write_string(row+1, col+11, items)
    else:
        worksheet.write_string(row,col+11,"None")

这是我会做的:

for items in parseBio1:

        if "Snapchat" in items:
            worksheet.write_string(row, col+13, items)
        if "com" in items:
            worksheet.write_string(row, col+11, items)

        row += 1

这样,如果项目中有 Snapchatcom,它将填充相应的列。