执行 try 块时出现缩进错误

Posted

技术标签:

【中文标题】执行 try 块时出现缩进错误【英文标题】:Getting Indentation error while executing try block 【发布时间】:2018-12-05 14:01:25 【问题描述】:

执行以下代码时出现缩进错误。

import pyodbc
import shutil
import pandas as pd
import numpy as np

def My_function():
data = pd.read_excel(r'my excel path')

    dataincsv = data.to_csv(r'export into my csv path',sep=r'|')

    cnxn = pyodbc.connect('''connection string''')
    stmt1 =  """Select column 1 from mytable"""
        try:
            Out_service = pd.read_sql(stmt1,cnxn)
        except:
            print("File format might be wrong,check the error")
        else:
            print(Out_service)
            exit()

运行代码时出现以下错误

第 14 行 尝试: ^ IndentationError: 意外缩进

【问题讨论】:

为什么你的try-except-else 块是缩进的?不应该。 嗨 Ziyad,感谢您的快速回复,我删除了块缩进,这次我无法导入'pandas' import pandas as pd import pyodbc import shutil import numpy as np def My_ListSource(): dataincsv = data.to_csv(r'export into my csv path',sep=r'|') cnxn = pyodbc.connect('''连接字符串''') stmt1 = """Select column 1 from mytable""" 试试: Out_service = pd.read_sql(stmt1,cnxn) except: print("文件格式可能有误,请检查错误") else: print(Out_service) exit() 你仍然遇到同样的错误吗? What to do with "Unexpected indent" in python?的可能重复 您的data = pd.read_excel(r'my excel path') 需要缩进。请参阅下面的答案。请阅读@khelwood发布的上述链接 【参考方案1】:

如果您在此处粘贴的代码正是您正在使用的代码,则没有理由缩进 try

应该是这样的:

dataincsv = data.to_csv(r'export into my csv path',sep=r'|')

cnxn = pyodbc.connect('''connection string''')
stmt1 =  """Select column 1 from mytable"""
try:
    Out_service = pd.read_sql(stmt1,cnxn)
except:
    print("File format might be wrong,check the error")
else:
    print(Out_service)
    exit()

try 块应与上一行处于同一级别。

编辑: 我看到您更新了代码,所以我的回答有点不完整,但是您的缩进仍然存在问题。

【讨论】:

我不明白为什么我的答案失去了“已接受答案”的状态。它反映了我回答时问题的状态。我什至添加了“编辑”更新,以确保我的解决方案没有更新到问题内容的最新状态。无论如何......让我们继续前进。【参考方案2】:
def My_function():
    data = pd.read_excel(r'my excel path')
    dataincsv = data.to_csv(r'export into my csv path',sep=r'|')

    cnxn = pyodbc.connect('''connection string''')
    stmt1 =  """Select column 1 from mytable"""
    try:
        Out_service = pd.read_sql(stmt1,cnxn)
    except:
        print("File format might be wrong,check the error")
    else:
        print(Out_service)
        exit()

【讨论】:

【参考方案3】:

这是函数在缩进方面的外观,在某些文本编辑器中,如果您使用 Tab 和空格进行缩进,可能会导致问题。如果问题仍然存在,很可能是由于这个原因。希望这会有所帮助,祝您编码愉快!

def My_function():
    data = pd.read_excel(r'my excel path')
    dataincsv = data.to_csv(r'export into my csv path',sep=r'|')

    cnxn = pyodbc.connect('''connection string''')
    stmt1 =  """Select column 1 from mytable"""
    try:
        Out_service = pd.read_sql(stmt1,cnxn)
    except:
        print("File format might be wrong,check the error")
    else:
        print(Out_service)
        exit()

【讨论】:

以上是关于执行 try 块时出现缩进错误的主要内容,如果未能解决你的问题,请参考以下文章

立即执行时出现无效字符错误

尝试使用 gcs json api、axios、vue3、quasar 和 node14 执行单个块可恢复上传到谷歌云存储时出现 cors 错误

爬过链接时出现scrapy错误[关闭]

实施LIMIT和OFFSET时出现语法错误

PythonAnywhere:尝试使用 easygui 模块时出现 Tkinter.py 错误

在数据块上运行 sql 查询时出现不匹配错误