-1

无法从“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:无法从“模块名”(/home/...)导入名称“ident”

4

1 回答 1

3

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

//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/

于 2019-11-20T16:34:20.407 回答