源代码为:
import pandas as pd
import numpy as np
import dmPython
import os
# 建立连接
conn = dmPython.connect(user=user, password=password, server=server, port=5236)
cursor = conn.cursor()
# 执行sql语句
cursor.excute(sql)
values = cursor.fetchall()
# 将查到的数据转为Dataframe
df = pd.DataFrame(values)
print(df)
在以py文件中执行时,在数据库连接时,会报错“段错误(核心已转储)”;而在Python的shell中,一行一行执行代码,则不会报错。
经过排查,最终找到了原因(奇奇怪怪),应该把import dmPython放在第一位。。。
经过修改后,则可以运行,代码调整如下:
# 把dmPython放在第一位import,就没问题了
import dmPython
import pandas as pd
import numpy as np
import os
# 建立连接
conn = dmPython.connect(user=user, password=password, server=server, port=5236)
cursor = conn.cursor()
# 执行sql语句
cursor.excute(sql)
values = cursor.fetchall()
# 将查到的数据转为Dataframe
df = pd.DataFrame(values)
print(df)