最近在搞一个比赛,经常要用到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容易的多
时间: 2024-10-13 09:34:51