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;
}
}