`

将数据写入到CSV文件

    博客分类:
  • csv
 
阅读更多
/***
	 * 生成csv文件
	 * 
	 * @param context
	 * @param list
	 *            对象集合
	 * @param csvName
	 *            对应的文件名称
	 * @param propertyArray
	 *            属性字符串,逗号分割
	 */
	public static void writeCsvFile(Context context, List list, String csvName,
			String folder, String propertyArray) {
		if (list == null || list.isEmpty())
			return;

		// sdcard/com/cela/目录下
		String path = DataUtils.getCsvFilePath(folder);
		File file = new File(path);
		if (!file.exists()) {
			file.mkdirs();
		}
		path += csvName;

		// 判断文件是否存在,如果存在则取出原有数据
		List<String[]> originalList = null;
		try {
			File f = new File(path);
			if (f.exists()) {
				originalList = new ArrayList<String[]>();
				CSVReader reader = new CSVReader(new FileReader(path), ',');
				originalList.addAll(reader.readAll());
			}
		} catch (Exception e) {
			e.printStackTrace();
		}

		OutputStreamWriter fw = null;
		CSVWriter csv = null;
		// 通过反射获取list里面的值
		try {
			fw = new OutputStreamWriter(new FileOutputStream(path), "UTF-8");
			csv = new CSVWriter(fw, ',');
			final int size = list.size();
			// 写入原有数据
			if (originalList != null && !originalList.isEmpty()) {
				final int len = originalList.size();
				for (int i = 0; i < len; i++) {
					csv.writeNext(originalList.get(i));
				}
			}
			// 开始写入对象
			for (int i = 0; i < size; i++) {
				Object obj = list.get(i);
				Class cla = obj.getClass();
				String[] propertys = propertyArray.split(",");
				String[] values = new String[propertys.length];
				for (int j = 0; j < propertys.length; j++) {
					Field field = cla.getDeclaredField(propertys[j]);
					String fname = field.getName();
					String strLitter = fname.substring(0, 1).toUpperCase();

					String getName = "get" + strLitter + fname.substring(1);
					String setName = "set" + strLitter + fname.substring(1);

					Method getmethod = cla.getMethod(getName, new Class[] {});
					cla.getMethod(setName, new Class[] { field.getType() });

					Object value = getmethod.invoke(obj, new Object[] {});
					if(value!=null){
						values[j] = (String) value.toString();
					}else{
						values[j] = "";
					}
				}
				csv.writeNext(values);
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if (csv != null) {
				try {
					csv.flush();
					csv.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}

 

0
2
分享到:
评论

相关推荐

    java使用jdbc将数据库数据导出到csv文件.pdf

    在获取了数据库数据和元数据信息后,我们可以将数据写入到 CSV 文件中。这里我们使用了 BufferedWriter 对象来写入数据。首先,我们需要创建一个 CSV 文件,然后使用 OutputStreamWriter 对象来指定编码方式(这里...

    UE4C++写入CSV文件.docx

    然后,在 AddXiangQing 和 AddHuiZong 函数中,使用 FFileHelper::SaveStringToFile 函数将数据写入到 CSV 文件中。同时,使用 FPlatformFileManager::Get().GetPlatformFile().FileExists 函数来检查文件是否存在,...

    java读取csv文件并将读取的数据写入新生成的csv文件

    在我们需求中需要读取一个csv文件的数据,但是只有旧的csv的几列数据再新写入一个csv文件,而且在旧的数据有空的数据,需要判断旧的csv的空值。可能写的存在不完善!但是应用的需求里面还是能用的

    java操作CSV文件

    // 将数据写入到CSV文件中 writer.writeNext(values); } public void addRow(ResultSet rs, int colCount) { // 从结果集中获取一行数据并写入到CSV文件 String[] values = new String[colCount]; try { ...

    Python如何把字典写入到CSV文件的方法示例

    在Python编程中,将字典数据写入CSV文件是一种常见的数据操作,特别是在处理大量结构化数据时。CSV(Comma Separated Values)文件格式因其简洁、易于读取和处理的特性,广泛应用于数据交换和存储。本文将详细介绍...

    基于LabVIEW的CSV格式文件的写入

    2. **数据准备**:在写入CSV文件之前,你需要将要存储的数据转换成字符串形式。这可能涉及到数值转换、数组到字符串的转换等操作。对于复杂的结构,可以使用“数组到字符串”函数,并通过设置分隔符来确保数据按照...

    Codesys读取和写入CSV数据源程序

    codesys通过文件写入功能块是实现对CSV文件数据的写入 a、数组数据处理,将需要的数据转换成CSV需要的字符序列; b、通过SysFileOpen指令打开文件; c、通过SysFileSetPos设置开始写入的位置,一般设置偏移量为0,全...

    CSV文件操纵,读取数据,写入数据

    VS2010实现对CSV文件操作,读取CSV文件指定行列的字符串数据,整形数据,浮点型数据,同时相应把数据写入到CSV文件。

    dataset写入csv文件的源代码

    # 使用to_csv()函数将DataFrame写入csv文件 df.to_csv(file_path, index=False) ``` 在上面的代码中,`index=False`参数表示不将行索引写入到csv文件中,如果你希望保留行索引,可以省略此参数或者设置为True。此外...

    STM32F103ZE 生成并写入CSV文件 FATFS实验.rar

    在本实验中,我们将探讨如何在STM32F103ZE上实现FATFS文件系统,以及如何生成并写入CSV文件。 FATFS是DOS/Windows兼容的FAT文件系统的轻量级实现,适用于资源有限的嵌入式系统。它提供了一个通用的文件操作接口,...

    MFC CSV文件的读取和写入

    在这个场景中,我们将深入探讨如何使用MFC来读取和写入CSV文件。 首先,理解CSV文件的结构至关重要。CSV文件以文本形式存储数据,每行代表一条记录,记录中的每个字段由逗号分隔。例如: ``` Name,Age,City John,...

    STM32实现SD卡的fatfs文件系统,写数据生成.csv文件

    5. TCP数据接收和处理,确保数据正确写入CSV文件。 以上是STM32实现SD卡fatfs文件系统,写数据生成.csv文件,以及以太网驱动TCP服务器的基本流程和技术细节。通过深入理解这些知识点,可以成功构建一个能够接收网络...

    C#数据存储到本地CSV文件Demo

    首先,为了将数据写入CSV文件,你需要创建一个StreamWriter实例来打开文件,然后逐行写入数据。每行数据应作为字符串数组,其中数组元素之间用逗号连接。例如: ```csharp using (StreamWriter sw = new ...

    python数据爬取美食网站xpath解析并将美食数据存入csv文件按照人气数据分析可视化

    存储到CSV文件:代码在每次循环中,通过csv库将美食数据存储到CSV文件中。以追加写入的方式打开CSV文件,使用csv.writer写入每一行的数据,确保数据的完整性和格式正确。 数据可视化:代码使用pandas库读取CSV文件...

    CSV文件数据抽取

    在本场景中,“CSV文件数据抽取”是指从CSV文件中提取出特定的、有价值的信息,并将其保存到TXT文件中,以便于MATLAB进行进一步的分析和处理。TXT文件由于其简洁的文本格式,通常被用作数据导入和导出的便捷工具。 ...

    连续写入到csv文件_写入文件_

    在这个例子中,`csv.writer()`创建了一个写入器对象,用于将数据写入CSV文件。`open()`函数以追加模式('a')打开文件,这样每次写入新行时都不会覆盖已有的数据。 如果你需要处理大量的数据,或者数据以某种结构化...

    python将数据写入csv文件

    python将数据写入csv文件

    python将数据写入csv文件方法,说明

    python将数据写入csv文件 要在Python中将数据写入CSV文件,可以使用内置的csv模块。csv模块提供了一组函数和类,用于读取和写入CSV文件。

    读取CSV文件部分数据并保存—保证可用

    - `DataFrame.to_csv()`:此函数用于将DataFrame对象写入CSV文件,但在这里我们希望保存为TXT文件。由于TXT文件不支持逗号分隔,可以将分隔符设置为空格或自定义字符。 - 参数:`path_or_buf`指定输出文件路径,`...

    c# 对CSV文件操作(写入、读取、修改)

    写入CSV文件是指将数据写入到CSV文件中,通过C# 可以使用 StreamWriter 对象来实现。下面是一个简单的写入CSV文件的示例代码: ```csharp public static void SaveCSV(DataTable dt, string fullPath) { System.IO...

Global site tag (gtag.js) - Google Analytics