csv文件的读写

  最近在搞一个比赛,经常要用到csv文件的读写,开始用的是Java,有CsvReader、CsvWriter包,读写的格式大致如下:

 

       File inFile = new File(inpath);
            FileInputStream fis = new FileInputStream(inFile);
            FileOutputStream fos = new FileOutputStream(outpath);
            
            CsvReader csvReader = new CsvReader(fis, Charset.forName("unicode"));
       csvReader.readHeaders();//读文件头
       inString = csvReader.getRawRecord();//读一行数据
       OutputStreamWriter osw = new OutputStreamWriter(fos);
       CsvWriter csvWriter = new CsvWriter(osw, ','); 
       csvWriter.write("SentencedId"); //写
       csvWriter.endRecord();//结束一行

  用起来也并不是很麻烦,但是有些需求,用Java处理真的是太繁琐了,想了好久也没什么头绪,最后决定还是用Python写吧,果然,用起来顺手多了,这里不介绍我的需求是什么,只是记录下两种语言是如何读写csv文件的。

with open(test_out_path_r, 'r+', encoding='utf-8') as f2:
   # newline=''的作用是避免每写一行都会附带一个空行的问题   
    with open(test_out_path_w, 'w+', encoding='utf-8', newline='') as f3:
        test_out_reader = csv.reader(f2)
        test_out_writer = csv.writer(f3)
        test_out_writer.writerow(['SentencedId', 'View', 'Opinion'])
        for item in test_out_reader:
                test_out_writer.writerow([item])

  总的来说,Python处理数据真的是比Java容易的多

posted @ 2016-11-05 21:50  雄起吧小钢炮  阅读(1030)  评论(0编辑  收藏  举报