3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
index_enhancement.csv 被存在哪里了?在 JoinQuant 的回测环境或研究环境中,您的代码是运行在聚宽的云端服务器上的,而不是您的个人电脑上。
当您直接使用 df1.to_csv('index_enhancement.csv') 时,文件会被保存在云端服务器的当前工作目录下。如果您是在“投资研究”模块中运行,它会保存在研究环境的根目录;如果您是在“回测环境”中运行,直接使用 to_csv 生成的文件通常是无法直接查看或下载的,甚至在回测结束后可能会被系统清理。
不可以。 因为代码运行在云端服务器,云端服务器无法直接访问您本地电脑的硬盘(如 F:/)。如果您写成 df1.to_csv('F:/Data/index_enhancement.csv'),程序会报错,因为云端服务器上不存在 F:/ 这个路径。
如果您希望在回测或模拟交易中保存数据,并最终下载到您的本地电脑,请使用 JoinQuant 提供的专用 API:write_file。该函数会将文件保存到您的投资研究根目录中,随后您可以手动将其下载到本地。
import pandas as pd
from jqdata import *
# 假设 df1 是您已经获取并清洗好的 DataFrame
# df1 = get_fundamentals(q1, date = None)
# 1. 将 DataFrame 转换为 CSV 格式的字符串
csv_content = df1.to_csv()
# 2. 使用聚宽的 write_file API 写入到投资研究目录
# append=False 表示覆盖原文件,如果设为 True 则是追加写入
write_file('index_enhancement.csv', csv_content, append=False)
log.info("文件已成功保存到投资研究根目录!")
index_enhancement.csv 文件。如果您需要在回测中再次读取这个文件,可以使用 read_file API 结合 io.StringIO(Python 3 中为 io.BytesIO 或直接使用 six 模块兼容):
import pandas as pd
from six import StringIO
# 读取文件内容
body = read_file('index_enhancement.csv')
# 转换为 DataFrame
df = pd.read_csv(StringIO(body.decode('utf-8')))
print(df.head())