gpt4 book ai didi

web-scraping - 将输出(println!)转换为.csv文件

转载 作者:行者123 更新时间:2023-12-03 11:36:11 24 4
gpt4 key购买 nike

use yahoo_finance::{history, Interval, Timestamped};

#[tokio::main]

async fn main() {

let data = history::retrieve_interval("AAPL", Interval::_6mo).await.unwrap();

for end in &data {

println!("Close ${:.2}, {}", end.close,end.datetime().format("%b %e %y)"));
}
}
基本上,我想使用该程序,并将输出显示为.csv文件,而不是println!(),我只使用了println!。确保程序正常运行。我仍然对Rust还是相当陌生的,并且对编程还是很陌生的(如果我没受过教育,则表示歉意)。我只是将此程序设计为实用的东西(可以在金融行业中使用)并以此为基础。

最佳答案

您可以通过使用 writeln! 宏而不是println!来精确地做到这一点。您将需要实现Write特性的东西,例如 File 。这需要作为第一个参数传递给writeln!
您的示例将如下所示:

use yahoo_finance::{history, Interval, Timestamped};

#[tokio::main]
async fn main() {
let data = history::retrieve_interval("AAPL", Interval::_6mo).await.unwrap();

// create a file called data.csv, overwriting the file if it already existed
let mut file = std::fs::File::create("data.csv");

for end in &data {
// write to the file instead of standard output
writeln!(file, "Close ${:.2}, {}", end.close,end.datetime().format("%b %e %y"));
}
}
我删除了日期格式的括号,我认为这是错误的吗?无论如何,我希望能有所帮助。
正如其他人指出的那样,这不是最干净的解决方案,您可能必须注意自己引用此类内容,因此,使用CSV库也可能是一个好主意。但是在这种情况下,我认为它应该可以正常工作。

关于web-scraping - 将输出(println!)转换为.csv文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66327286/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com