Chaquopy在AS里初始化之后,main文件夹下会出现一个python文件夹,如下所示:

然后我在python文件夹下创建了一个hello.py文件,并且在python文件夹下放置了一个CSV文件。
一开始读取方式为:

import pandas as pdfrom mlxtend.preprocessing import TransactionEncoderfrom mlxtend.frequent_patterns import association_rulesfrom mlxtend.frequent_patterns import apriorifrom os.path import dirname, joindef finals():    df = pd.read_csv("df_politics.csv" encoding='utf8', dtype=str)    df_arr = df.values.tolist()

结果报错如下:

Caused by: com.chaquo.python.PyException: FileNotFoundError: [Errno 2] File b'df_politics.csv' does not exist: b'df_politics.csv'        at <python>.pandas._libs.parsers.TextReader._setup_parser_source(parsers.pyx:689)        at <python>.pandas._libs.parsers.TextReader.__cinit__(parsers.pyx:382)        at <python>.pandas.io.parsers.__init__(parsers.py:1917)        at <python>.pandas.io.parsers._make_engine(parsers.py:1135)        at <python>.pandas.io.parsers.__init__(parsers.py:895)        at <python>.pandas.io.parsers._read(parsers.py:457)        at <python>.pandas.io.parsers.parser_f(parsers.py:685)        at <python>.hello.finals(hello.py:10)

可以明显看到是FileNotFoundError错误。
改正如下:

import pandas as pdfrom mlxtend.preprocessing import TransactionEncoderfrom mlxtend.frequent_patterns import association_rulesfrom mlxtend.frequent_patterns import apriorifrom os.path import dirname, joindef finals():    filename = join(dirname(__file__), "df_politics.csv")    print(filename)    df = pd.read_csv(filename, encoding='utf8', dtype=str)    df_arr = df.values.tolist()

其中文件名为:

filename = join(dirname(__file__), "df_politics.csv")

输出一下filename:

/data/user/0/com.example.pythontest/files/chaquopy/AssetFinder/app/df_politics.csv

查Chaquopy官方文档:
在Chaquopy 6.3.0和更高版本中,您可以使用相对于__file__的路径访问数据文件。例如,如果数据文件与Python文件位于同一目录中:

from os.path import dirname, joinfilename = join(dirname(__file__), "df_politics.csv")

如果数据文件和Python文件位于不同的目录中,请相应地更改相对路径。例如,如果Python文件为:

src/main/python/alpha/hello.py

数据文件为:

src/main/python/bravo/df_politics.csv

则替换df_politics.csv为:

../bravo/df_politics.csv

更多相关文章

  1. 一句话锁定MySQL数据占用元凶
  2. 关于android 数据库SQLite的使用日记
  3. Android(安卓)Studio的应用与快捷键
  4. 【Android】LiveData 用法及源码解析
  5. android lint的使用
  6. Android———ContentProvider理解与使用
  7. NDK 开发指南---Android(安卓)NDK概览
  8. Android中ListView,SQLite,BaseAdapter的结合
  9. Android(安卓)studio for mac 的一些常用快捷键

随机推荐

  1. Android(安卓)Studio使用过程中遇到的问
  2. Android中互联网的应用
  3. 五、网络多线程
  4. Android(安卓)权限大全中英对照
  5. android 1、Base64字符串转换成图片 2、
  6. 把android db文件导入到项目中
  7. Android(安卓)TextView实现显示时间变化
  8. EditTextView:取消焦点&自动获取焦点
  9. android开发之interpolator的使用
  10. Android(安卓)下拉列表框(spinner)