当前位置: 首页 > 面试题库 >

将CSV文件转换为2D数组

严烨
2023-03-14
问题内容

我在一个一维数组中有一个例子。它只会输出列。我的想法是使用2d数组选择行和列。这是我的代码:

String fName = "c:\\csv\\myfile.csv";
String thisLine; 
int count=0; 
FileInputStream fis = new FileInputStream(fName);
DataInputStream myInput = new DataInputStream(fis);
int i=0;

while ((thisLine = myInput.readLine()) != null) {
     String strar[] = thisLine.split(";");
     out.println(strar[1]); // Here column 2
}

myfile.csv

Id;name
E1;Tim
A1;Tom

输出:

名字蒂姆汤姆


问题答案:

我只是将split结果(String[])添加到a中,List如果您确实希望将其作为2d数组,则在事后将其转换。

List<String[]> lines = new ArrayList<String[]>();
while ((thisLine = myInput.readLine()) != null) {
     lines.add(thisLine.split(";"));
}

// convert our list to a String array.
String[][] array = new String[lines.size()][0];
lines.toArray(array);


 类似资料:
  • 问题内容: 在Java中,如何将ArrayList转换为二维数组Object [] []? 从评论中:我将用更多细节向您描述问题:XML文件包含联系人列表(例如姓名,地址…)。我可以获得此信息的唯一方法是通过ArrayList,该列表将提供给我。由于需要将该数组列表的内容以有序方式存储在Java Swing表中,因此我正在考虑将其转换为对象的二维数组 问题答案: 知道每个联系人具有的属性数量,我设

  • 我在将netCDF文件(这是一个掩码numpy数组)转换为csv文件时遇到了问题。netcdf文件由12个单独的文件压缩而成,形成一个12 x 52 x 39的3D阵列,其中12对应于月份,52对应于纬度,29对应于经度。 更新:我想要的csv输出是4列,具有网格号(0-437)、纬度、经度和总降水量。例如: 我想总结我12个月的降水量,并将数据浓缩成一列。(我在这里没有找到任何答案来帮助我做这件

  • 问题内容: 如何将数组转换为CSV文件? 这是我的数组: 问题答案: 我正在使用以下功能;它是对fputscsv注释中的man条目之一的改编。而且您可能想要展平该数组;不知道如果您传递一个多维的行会发生什么。

  • 问题内容: 我想将PDF文件转换为CSV文件。我为此使用iText库。程序运行正常,但输出格式不正确。所有数据都在csv文件的第一行中。输出应与pdf文件完全相同(表示带有换行符)。请帮忙。提前致谢。 问题答案: 您需要在每个表行之后在缓冲区中引入一个换行符’\ n’。

  • 我用node.js生成一个utf-8编码的csv,然后在windows上双击打开它。Excel会启动,但某些特殊字符(如`、`、ü、ä、ö、ü...)无法正确显示。我想这是由于错误的编码。我保存了一个用Excel创建的新csv。我看到编码是Windows-1252。