java读取csv文件生成 sql

import java.io.*;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;


public class shopCSV {
    public  static  void  main(String[] args) {
        List<String> sqlData = new ArrayList<>();
        List<String> shopIds = new ArrayList<>();


        try {
            File csv = new File("/Users/danny/Downloads/test.csv");
            BufferedReader br = new BufferedReader(new FileReader(csv));


            String line = "";
            String itemUpdate ="";
            while ((line = br.readLine()) != null) {    //判断文件是否结束
//                String item[] = line.split(",");      //csv 逗号分隔
                String item[] = line.split("\t");


                        itemUpdate =
                        "update DPPresales.PS_LeadShop  set CityId = "+item[1]+" , DistrictId = "+item[2]+" , ShopTypeId = "+item[3]+" where ShopId = "+item[0]+";\t";


                        System.out.println(itemUpdate);
                        sqlData.add(itemUpdate);
            }


            FileWriter fw = null;
            BufferedWriter bw = null;
            try {                        //文件写入
                fw = new FileWriter("/Users/danny/Downloads/Result.txt", true);   
                bw = new BufferedWriter(fw, 100);
                for (String string:sqlData){
                    bw.write(string);


                }
            }catch (IOException e){


                System.out.println("写入文件出错");
            }finally {
                if (bw != null){
                    bw.flush();
                    bw.close();
                }
                if (fw!=null)
                    fw.close();
            }

            br.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

csv文件格式:

58406375 5 619 65
58416338 102 3938 50
58410866 299 430 50
58416245 134 331 55

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSV文件是一种常见的数据存储格式,而SQL文件是一种用于数据库操作的脚本文件。将CSV文件转成SQL文件的过程,主要是将CSV文件中的数据转换为SQL语句的插入语句,以便能够将数据导入到数据库中。 首先,我们需要创建一个适合存储CSV文件数据的数据表。根据CSV文件的结构,定义SQL表的各列以及数据类型。 然后,可以使用编程语言,如Python或Java,来读取CSV文件。将CSV文件逐行解析,获取每行数据的值,并根据表的结构,构建SQL插入语句。 在构建插入语句时,需要将CSV文件中的每一列的值按照相应的数据类型进行处理。例如,对于日期类型的列,需要将CSV文件中的日期字符串转换为数据库支持的日期格式。 在构建完插入语句后,将其写入到一个SQL文件中。可以使用文件操作函数将SQL插入语句写入文件中,每条插入语句占一行。 最后,将生成SQL文件导入到数据库中。可以使用数据库命令行工具,如MySQL的mysql命令,运行该SQL文件,执行插入语句将数据导入到对应的数据表中。 需要注意的是,转换过程中还要处理一些特殊情况,如空值、特殊字符等。同时,如果CSV文件较大,可能需要考虑分批导入数据,避免数据量过大导致数据库性能下降。 综上所述,将CSV文件转换为SQL文件的过程,主要包括创建表结构、解析CSV文件、构建SQL插入语句和导入数据库等步骤。这样可以方便地将CSV文件中的数据导入到数据库中,以便进行后续的数据操作和分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值