如何使用CSVWriter在csv中只对嵌入的逗号字符串进行双引号?
这是我在输出CSV中的预期结果格式: header1,header2,header3,header4 monica,chandler,"rachel,ross",joey 我目前的结果: 策略1: CSVWriter csvWriter = new CSVWriter(new FileWriter("D:/new.csv")); String[] headers = new String[] { "header1", "header2", "header3", "header4"}; String[] arr = new String[] { "monica", "chandler", "rachel,ross", "joey"}; result: "header1","header2","header2","header4" "monica","chandler","rachel,ross","joey" 策略2: CSVWriter csv
0 2024-02-28
编程技术问答社区
使用OpenCSV从csv中读取流数据
我具有保存在下载文件夹中的加速度计和陀螺仪传感器流数据. 我想实时读取所有数据或行作为数据流,但我无法超越第一行. try { CSVReader reader = newCSVReader(newFileReader(path.getAbsoluteFile())); { ListallRows = reader.readAll(); for (String[]row :allRows) Log.i(TAG1,Arrays.toString(row)); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } 在输出中仅打印第一行. 我需要阅
0 2024-02-06
编程技术问答社区
如何在安卓系统中读取和写入csv文件?
我想将8个整数存储到.csv文件中(文件名将作为来自EditText的输入)并在我想要时检索它们. 解决方案 要获取文件名,您可以使用以下方式: EditText fileNameEdit= (EditText) getActivity().findViewById(R.id.fileName); String fileName = fileNameEdit.getText().toString(); 然后在磁盘上写文件: try { String content = "Separe here integers by semi-colon"; File file = new File(fileName +".csv"); // if file doesnt exists, then create it if (!file.exists()) { file.createNewFile(); } File
2 2024-02-04
编程技术问答社区
为CSV文件创建标头
我正在使用 opencsv 库来编写一个CSV文件,需要将标题添加到我的文件中.该文件是创建并插入标题的,但是同一单元格中的所有标题. csvFile.createNewFile(); CSVWriter csvWrite = new CSVWriter(new FileWriter(csvFile)); String heading = "eid,name,vid,emp_id,balance_amt,handover_to,entry_date \n"; csvWrite.writeNext(new String[]{heading}); 解决方案 这是您的解决方案: CSVWriter csvWrite = new CSVWriter(new FileWriter(csvFile)); String[] entries = {"eid","name","vid","emp_id","balance_amt","handover_to","entry_date"
0 2024-02-03
编程技术问答社区
读取资源文件夹中的CSV文件 android
我正在Netbeans开发一个Android应用程序.我正在尝试使用OpenCSV读取CSV文件.当我将文件放入资源文件夹中并尝试从那里读取它时,构建说出无效的资源目录时会出现错误.我应该在哪里存储CSV文件,以便每次启动应用程序都可以读取它? 解决方案 您应该将CSV文件放在资产文件夹中. InputStreamReader is = new InputStreamReader(getAssets() .open("filename.csv")); BufferedReader reader = new BufferedReader(is); reader.readLine(); String line; while ((line = reader.readLine()) != null) { } 其他解决方案 一些建议; 创建一个将一行数据储存到CSV中的对象
0 2024-01-31
编程技术问答社区
Athena无法使用OpenCSVSerde解析日期
我在S3 上有一个非常简单的CSV文件 "i","d","f","s" "1","2018-01-01","1.001","something great!" "2","2018-01-02","2.002","something terrible!" "3","2018-01-03","3.003","I'm an oil man" 我正在尝试使用以下命令 在此上创建一个表格 CREATE EXTERNAL TABLE test (i int, d date, f float, s string) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde' LOCATION 's3://mybucket/test/' TBLPROPERTIES ("skip.header.line.count"="1"); 当我查询表(select * from test)时,我会收到这样的错误: hive_ba
2 2024-01-24
编程技术问答社区
OpenCSV:如何使用自定义列标题和自定义列位置从POJO创建CSV文件?
我创建了一个MappingsBean类,其中指定了CSV文件的所有列.接下来,我分析XML文件,并创建映射列表.然后,我将该数据写入CSV文件中. 我正在使用以下注释: public class MappingsBean { @CsvBindByName(column = "TradeID") @CsvBindByPosition(position = 0) private String tradeId; @CsvBindByName(column = "GWML GUID", required = true) @CsvBindByPosition(position = 1) private String gwmlGUID; @CsvBindByName(column = "MXML GUID", required = true) @CsvBindByPosition(position = 2) p
14 2023-12-20
编程技术问答社区
如何提取网络刮取的csv文件单元格中的一些内容?
我正在努力处理一个刮擦一个众筹网站的CSV文件. 我的目标是成功地加载所有信息作为单独的列,但是当我使用1)r,2)stata和3)Python时发现了一些信息. 由于真实数据确实很脏,让我建议当前数据集的缩写版. id 誓言 创造者 000001 13.7 {" urls":{" web":{" user":" www.kickstarter.com/profile/731"}}," name":john":john"," id":709510333} 000002 26.4 {" urls":{" web":{" user":" www.kickstarter.com/profile/759"}},"名称":kellen":kellen"," id":703514812} 000003 7.6 {" urls":{" web":{" user":" www.kickstarter.com/profile/7522"}}," name":jach":jach",
6 2023-12-02
编程技术问答社区
写操作期间发生了磁盘错误. (Hresult的例外:0x8003001d(STG_E_WRITEFAULT))
我正在使用epplus在vb.net中读取.csv文件. 当我运行此代码时,我会发现错误"写入操作期间发生了磁盘错误. (Hresult的例外:0x8003001d(stg_e_writefault))" 这是我的代码: Public Function ImportExcelSheet(ByVal filePath As String) As DataTable Dim dtImportData As New DataTable() Try 'If csv file have header then "true" else "false" Dim hasHeader As Boolean = True Using pck = New OfficeOpenXml.ExcelPackage() Using stream = File.OpenRead(filePath)
14 2023-11-14
编程技术问答社区
opencsv中的UTF-8编码
我正在使用OpenCSV(2.3),我从包含特殊Chracters的属性文件中创建CSV的标题. i使用UTF-8编码并将属性设置为CSV的标题. ,但我仍然看到创建的CSV文件没有反映编码. (我使用相同的方法使用JasperReports创建PDF,在那里我可以看到带有特殊字符的列编码很好,并且显示正确) ) Java版本:7 属性文件内容:(é被存储为 â©和ü被存储为â¼) lan.response = nombre deréponses lan.exef =exécution lan.exeg =ausführung 使用CSV的方法: /* properties file*/ final File propertiesFile = new File(System.getProperty("user.home"), "tmp/lan.properties"); final FileInputStream fis
14 2023-11-12
编程技术问答社区
OpenCSV CsvToBean。对于没有BOM的UTF-8,第一列无法读取
使用openCSV解析UTF-8文档没有 bom会导致第一列未读取.作为输入给出相同的文档内容,但用 bom在UTF-8 中编码正确. 我专门将Charset设置为UTF-8 fileInputStream = new FileInputStream(file); inputStreamReader = new InputStreamReader(fileInputStream, StandardCharsets.UTF_8); reader = new BufferedReader(inputStreamReader); HeaderColumnNameMappingStrategy ms = new HeaderColumnNameMappingStrategy(); ms.setType(Bean.class); CsvToBean csvToBean = new CsvToBeanBu
0 2023-11-12
编程技术问答社区
在java和csv文件中设置UTF | 8
我正在通过 opencsv : 通过 String[] entries="\u0645 \u062E\u062F\u0627".split("#"); try{ CSVWriter writer=new CSVWriter(new OutputStreamWriter(new FileOutputStream("C:\\test.csv"), "UTF-8")); writer.writeNext(entries); writer.close(); } catch(IOException ioe){ ioe.printStackTrace(); } 当我打开生成的CSV文件时,在Excel中,它包含"ứỷờịệ" .其他程序(例如Notepad.exe)没有这个问题,但是我所有的用户都使用MS Excel. 用 supercsv 无法解决这个问题. 手动将波斯字符键入CSV文件时,我没有任何问题. 解决方案 不幸的是,CSV是
18 2023-11-11
编程技术问答社区
斯波克。从CSV文件中读取测试数据
我正在尝试编写优雅的SPOCK规范,该规范将从CSV文件中读取非常大的测试数据,而无需将所有数据加载到存储器中.我正在寻找您对您如何做的反馈,而不是我当前的反馈. 假设我的简化CSV文件看起来如下: - 1,2 3,4 5,6 断言是"column 1" + 1 == "column 2" 我正在使用openCSV进行CSV解析,仅仅是因为实际的CSV文件包含带有双引号和逗号的特殊字符的字符串,并且通过通过逗号分开字符串来进行基本解析,而这种分析将无效. > > net.sf.opencsv opencsv 2.3 尝试1 我的第一次尝试是循环遍历CSV并在每行上执行断言.尽管这种方法有效,但我不能使用@Unroll将每个主张隔离为单独的独立测试
10 2023-11-07
编程技术问答社区
关闭了! 我如何在Scala中检测字符串的类型?
我正在尝试解析CSV文件,我需要从其字符串值开始确定每个字段的类型. 示例: val row: Array[String] = Array("1/1/06 0:00","3108 OCCIDENTAL DR","3","3C","1115") 这就是我要得到的: row(0) --> Date row(1) --> String row(2) --> Int Ecc.... 我该怎么做? -------------------------------------------------- 解决方案 ------ ------------------------------------------------- 这是我发现的解决方案,可以识别字段字符串,日期,int,double和boolean. 我希望有人可以在将来服役. def typeDetection(x: String): String = { x match {
2 2023-10-03
编程技术问答社区
什么是字符串值中的编码?
我正在读取CSV文件,使用com.opencsv.CSVReader如下 String[] headers = csvReader.readNext(); 标题的值如下屏幕截图: 这里是什么编码器(以黄色突出显示)? 为什么第一个索引的值是1,所有其他索引为0? 解决方案 官方响应是"您的业务无关",因为它是私人成员:P,这意味着它很可能是特定于实施的,并且在其他供应商的JVM版本中找不到. 实际响应可以在源代码 String class 用于编码字节的编码的标识符. 本实现中的支持值是 LATIN1 UTF16 该字段被VM信任,是 如果字符串实例是恒定的,则常数折叠.覆盖这个 施工后的字段将引起问题. 至于为什么第一个是不同的,这取决于每个String的实例化.默认值的选择取决于JVM设置的参数.与默认值不同的值是一个符号,表明String是从另一个String或字节数组中构建的. 在第一种情况下,这意味着原
2 2023-10-02
编程技术问答社区
读取CSV时,我应该选择FileReader还是BufferedReader?
在Spring Boot应用程序中,我正在使用OpenCSV读取CSV文件数据,并且可以使用FileReader对其进行BufferedReader.但是,当我比较两者时,我在以下几点方面有一个困境: BufferedReader比FileReader快,但使用更多的内存. 当我以相同方法读取多个数据文件(拥有数十万个记录)时(首先,我从一个CSV读取数据,然后使用检索到的ID字段读取第二个CSV),我认为我不应该使用BufferedReader对于更少的内存使用.但是我真的不确定最合适的方法是什么. 因此,在这种情况下,我应该更喜欢FileReader而不是BufferedReader? 解决方案 一般来说,取决于的约束.如果性能是一个问题,请分配更多资源,并获得更快的解决方案.如果内存是一个问题,请进行反面. 使用BufferedReader您也可以使用读取器和int 构造函数设置适合您需求的缓冲区大小. BufferedReader reade
2 2023-09-13
编程技术问答社区
如何在开放CSV中获取和验证CSV标头?
我想从CSV文件中获取标头.如果我不使用此kipline,那么我将在0索引阵列中获取标题.但是我想直接使用HeaderColumnNamemappingStrategy获取标头,但它不适用于我的代码. 我也想验证标头列列表(例如CSV不允许包含额外的列) 我还检查了此如何使用OpenCSV验证CSSV标头,但这对我没有帮助. @SuppressWarnings({ "unchecked", "rawtypes" }) public Map handleStockFileUpload(MultipartFile file, Long customerId) { Map responseMap = new HashMap(); responseMap.put("datamap", ""); responseMap.put("errormap", ""); responseMa
6 2023-09-13
编程技术问答社区
在弹簧批处理步骤中配置OpenCSV而不是FlatFileItemReader
我正在尝试在弹簧批次中的reader()步骤中配置OpenCSV,以将CSV文件中的记录读取直接转换为Java Pojo.但是我遇到了如何使用OpenCSV正确设置lineMapper的问题. 如下所示,public Event reader() throws IOException { FlatFileItemReader itemReader = new FlatFileItemReader(); itemReader.setLineMapper(lineMapper()); itemReader.setLinesToSkip(1); itemReader.setResource(new FileSystemResource(inputFilePath)); return itemReader; } ,但我无法弄清楚如何配置linemapper: public LineMapper lineMapper() thro
2 2023-09-12
编程技术问答社区
如何用openCSV在春季批处理中替换FlatFileItemReader
我在春季批处理中使用了一个多级别的库务读取器.我发现OpenCSV自动将CSV列绑定到Java对象.但是如何使用csvtobeanbuilder openCSV替换FlatFileItemReader/MultiresourceitemReader. 解决方案 在Spring Batch中的对象映射逻辑的行在A LineMapper ,该> FlatFileItemReader用于将读取行映射到域对象. 因此,"如何用春季批处理中的openCSV替换FlatFileItemReader"的问题是不正确的,这些问题不在同一级别上.您可以做的是基于OpenCSV创建LineMapper实现,并将其与FlatFileItemReader. 一起使用
14 2023-09-12
编程技术问答社区
如何在安卓系统中导出数据到csv文件?
我创建了一个具有以下格式的CSV文件,我旨在输出设备的SD卡: Ship Name,Scientist Name,Scientist Email,Sample Volume,Sample Colour,Longitude,Latitude,Material,Date 除了日期的最后一个值外,CSV中的每个阀门都将为类型字符串. CSV文件的名称为AnalysisData.csv 我已经在stackoverflow上看到了示例,例如>从app android 将我的数据导出我的数据,但这会创建一个我不想要的新文件. 我已经将OpenCSV JAR添加到我的项目中,因此只需要一个相关的示例. 有人对在Android中实现这一目标有任何建议吗? 解决方案 尝试使用此代码段: String baseDir = android.os.Environment.getExternalStorageDirectory().getAbsolutePath();
16 2023-08-23
编程技术问答社区