Python读写
形如下图的CSV数据文件:
第一列为图像路径,第二列为图像对应的标签,我们如何将它读取到一个字典中去,方法如下:
写入数据:
import csv dic = {'1.bmp':0, '2.bmp':0, '3.bmp':1} csvFile3 = open('data/csvFile3.csv','w') writer2 = csv.writer(csvFile3) for key in dic: writer2.writerow([key, dic[key]]) csvFile3.close()
读取数据到字典:
def row_csv2dict(csv_file): dict_club={} with open(csv_file)as f: reader=csv.reader(f,delimiter=',') for row in reader: dict_club[row[0]]=row[1] return dict_club reader2 = row_csv2dict("data/csvFile3.csv") print(str(reader2)) {'1.bmp': '0', '2.bmp': '0', '3.bmp': '1'}
同时在给出一个C#读写CSV的代码,改代码来自网络:
C#读写CSV
class CSVReaderAndWriter { //write a new file, existed file will be overwritten public static void WriteCSV(string filePathName, List<String[]> ls) { WriteCSV(filePathName, false, ls); } //write a file, existed file will be overwritten if append = false public static void WriteCSV(string filePathName, bool append, List<String[]> ls) { StreamWriter fileWriter = new StreamWriter(filePathName, append, Encoding.Default); foreach (String[] strArr in ls) { fileWriter.WriteLine(String.Join(",", strArr)); } fileWriter.Flush(); fileWriter.Close(); } public static List<String[]> ReadCSV(string filePathName) { List<String[]> ls = new List<String[]>(); StreamReader fileReader = new StreamReader(filePathName); string strLine = ""; while (strLine != null) { strLine = fileReader.ReadLine(); if (strLine != null && strLine.Length > 0) { ls.Add(strLine.Split(',')); } } fileReader.Close(); return ls; } }