如何将 CSV 文件中的数据输入到我的代码中?
How do I input data from a CSV file into my code?
我有一个类似这样的 CSV 文件:
- 轨道,a,e,i
- LEO,7168000,0,90
- MEO,20200000,0,54
我想要的是使用扫描仪,我将能够选择 CSV 文件中的两个轨道之一。例如,如果我在控制台中输入 1,使用扫描仪,它会选择 CSV 文件的行:LEO,7168000,0,90 如果我输入 2,则行:MEO,20200000,0,54.
之后,从选定的行开始,它将每个参数保存在一个跳过名称 (LEO,MEO) 的变量中。例如,如果我选择 LEO 轨道,它会保存如下变量:
- 双 a = 7168000;
- 双e = 0;
- 双 i = 90;
所以最后我可以在我的程序中使用这些参数。谢谢你的回答。
Csv 文件是纯文本文件,每个单元格用 ,
个字符分隔,每行用 \n
个字符分隔。
最简单的方法,只需要使用FileInputStream读取并拆分\n
和,
字符即可使用。
File file = new File("file.csv");
FileInputStream fis = null;
String dataStr = "";
try {
fis = new FileInputStream(file);
int content;
while ((content = fis.read()) != -1) {
dataStr += (char) content;
}
} catch (IOException e) {
e.printStackTrace();
}
// convert to array rows string
String[] dataRows = dataStr.split("\n");
// loop rows to get cells string
for (int i = 0; i < dataRows.length; i++) {
String[] dataCells = rowData[i].split(",");
//do what ever you want with dataCells
}
感谢阅读。
我有一个类似这样的 CSV 文件:
- 轨道,a,e,i
- LEO,7168000,0,90
- MEO,20200000,0,54
我想要的是使用扫描仪,我将能够选择 CSV 文件中的两个轨道之一。例如,如果我在控制台中输入 1,使用扫描仪,它会选择 CSV 文件的行:LEO,7168000,0,90 如果我输入 2,则行:MEO,20200000,0,54.
之后,从选定的行开始,它将每个参数保存在一个跳过名称 (LEO,MEO) 的变量中。例如,如果我选择 LEO 轨道,它会保存如下变量:
- 双 a = 7168000;
- 双e = 0;
- 双 i = 90;
所以最后我可以在我的程序中使用这些参数。谢谢你的回答。
Csv 文件是纯文本文件,每个单元格用 ,
个字符分隔,每行用 \n
个字符分隔。
最简单的方法,只需要使用FileInputStream读取并拆分\n
和,
字符即可使用。
File file = new File("file.csv");
FileInputStream fis = null;
String dataStr = "";
try {
fis = new FileInputStream(file);
int content;
while ((content = fis.read()) != -1) {
dataStr += (char) content;
}
} catch (IOException e) {
e.printStackTrace();
}
// convert to array rows string
String[] dataRows = dataStr.split("\n");
// loop rows to get cells string
for (int i = 0; i < dataRows.length; i++) {
String[] dataCells = rowData[i].split(",");
//do what ever you want with dataCells
}
感谢阅读。