无法从模块导入名称

Cannot import name from a module

无法从 "modulename"

导入函数 "ident"
def ident(key):
    import pandas as pd
    data = pd.read_csv("dicc.csv")
    data = data.T
    data = data.to_dict()
    print(data[0]["{}".format(clau)])

我的脚本

from modulename import ident

ImportError: cannot import name 'ident' from 'modulename' (/home/. . .)

由于您完全是初学者,这里有一个完整的示例:

// modulename.py

import pandas as pd


def ident(key):
    data = pd.read_csv("dicc.csv")
    data = data.T
    data = data.to_dict()
    # Note: Here 'clau' is undefined, but maybe you have it elsewhere in your code
    print(data[0]["{}".format(clau)])

// script.py

#!/usr/bin/env python
from modulename import ident

print('look; I imported a function:', ident)

现在您可以运行:

$ python script.py

或者从某个任意目录它会工作相同:

$ cd ~
$ python path/to/script.py

之前我建议在您的脚本顶部添加类似这样的内容:

import os
import sys

sys.path.insert(0, os.path.dirname(__file__))

然而,这应该不再是必要的,因为当你 运行 一个 Python 脚本作为你的主要模块时,它的目录会自动插入到 sys.path 的开头,所以它应该可以正常工作。

我建议更多地研究 Python 模块和模块搜索路径(我意识到当你只想处理一些数据时这是令人讨厌的技术开销,但如果你要使用 Python 你稍后会通过学习这些概念感谢自己)。这是一个这样的教程(无从属关系):https://realpython.com/python-modules-packages/