我有一个非常简单的代码,可以在Python 3.7中顺利运行:
import academic_data_settings as local_settings
import pandas as pd
import glob
import os
def get_all_data():
all_files = glob.glob(os.path.join(local_settings.ACADEMIC_DATA_SOURCE_PATH, "*.csv"))
df_from_each_file = [pd.read_csv(f) for f in all_files]
concatenated_df = pd.concat(df_from_each_file, ignore_index=True)
return concatenated_df
if __name__ == "__main__":
raw_data = get_all_data()
print(raw_data)
但是,很难可视化熊猫数据框中的数据。
为了查看数据,我找到了以下有关如何直接从VSCode使用Jupyter笔记本的文章:https://devblogs.microsoft.com/python/data-science-with-python-in-visual-studio-code/
为了能够看到Python交互式窗口,我需要将代码转换为jupyter单元:
#%%
import academic_data_settings as local_settings
import pandas as pd
import glob
import os
def get_all_data():
all_files = glob.glob(os.path.join(local_settings.ACADEMIC_DATA_SOURCE_PATH, "*.csv"))
df_from_each_file = [pd.read_csv(f) for f in all_files]
concatenated_df = pd.concat(df_from_each_file, ignore_index=True)
return concatenated_df
if __name__ == "__main__":
raw_data = get_all_data()
print(raw_data)
一旦我尝试运行或调试单元,我就会在第一行得到一个异常:
import academic_data_settings as local_settings...
ModuleNotFoundError: No module named 'academic_data_settings'
我相信单元格评估只会发送当前单元格的代码。那是对的吗? 有没有一种方法可以使导入正常工作? 我不想结束编写Jupyter笔记本,然后将代码复制到最终成为“生产”代码的地方。
答案 0 :(得分:0)
Jaep。我是此扩展程序的开发人员,我想基于此评论,我知道这里发生了什么:
@Lamarus,它位于我运行的文件旁边
VSCode python交互式功能使用的相对加载路径与jupyter不同。在VSCode中,相对路径是相对于您打开的文件夹/工作空间的,而不是相对于文件相对于jupyter而言。要解决此问题,您可以将路径更改为与打开的文件夹相对的“ academic_data_settings”,也可以在设置中将“笔记本文件根目录”设置为指向您希望此工作空间成为工作根目录的位置。如果您要对此笔记本文件的根目录使用当前文件位置,则有一个错误可以支持。