想在深度学习程序运行时动态存下来一些参数。html
存成Excel文件查看方便,就查了几种方法,作个测试。由于我日常也不怎么用 Excel,简单的存取数据就够了。python
xlwt/xlrd库 web
①存Excel文件:(若是存储数据中有字符,那么写法还有点小小的变化)app
-
import xlwt
-
-
workbook = xlwt.Workbook(encoding=
'utf-8')
-
booksheet = workbook.add_sheet(
'Sheet 1', cell_overwrite_ok=
True)
-
#存第一行cell(1,1)和cell(1,2)
-
booksheet.write(
0,
0,
34)
-
booksheet.write(
0,
1,
38)
-
#存第二行cell(2,1)和cell(2,2)
-
booksheet.write(
1,
0,
36)
-
booksheet.write(
1,
1,
39)
-
#存一行数据
-
rowdata = [
43,
56]
-
for i
in range(len(rowdata)):
-
booksheet.write(
2,i,rowdata[i])
-
workbook.save(
'test_xlwt.xls')
②读Excel文件:(一样是对于数值类型数据)svg
-
import xlrd
-
-
workbook = xlrd.open_workbook(
'D:\\Py_exercise\\test_xlwt.xls')
-
print(workbook.sheet_names())
#查看全部sheet
-
booksheet = workbook.sheet_by_index(
0)
#用索引取第一个sheet
-
booksheet = workbook.sheet_by_name(
'Sheet 1')
#或用名称取sheet
-
#读单元格数据
-
cell_11 = booksheet.cell_value(
0,
0)
-
cell_21 = booksheet.cell_value(
1,
0)
-
#读一行数据
-
row_3 = booksheet.row_values(
2)
-
print(cell_11, cell_21, row_3)
-
-
>>>
34.0
36.0 [
43.0,
56.0]
openpyxl 库 学习
①存Excel文件:测试
-
from openpyxl
import Workbook
-
-
workbook = Workbook()
-
booksheet = workbook.active
#获取当前活跃的sheet,默认是第一个sheet
-
#存第一行单元格cell(1,1)
-
booksheet.cell(
1,
1).value =
6
#这个方法索引从1开始
-
booksheet.cell(
"B1").value =
7
-
#存一行数据
-
booksheet.append([
11,
87])
-
workbook.save(
"test_openpyxl.xlsx")
②读Excel文件:spa
-
from openpyxl
import load_workbook
-
-
workbook = load_workbook(
'D:\\Py_exercise\\test_openpyxl.xlsx')
-
#booksheet = workbook.active #获取当前活跃的sheet,默认是第一个sheet
-
sheets = workbook.get_sheet_names()
#从名称获取sheet
-
booksheet = workbook.get_sheet_by_name(sheets[
0])
-
-
rows = booksheet.rows
-
columns = booksheet.columns
-
#迭代全部的行
-
for row
in rows:
-
line = [col.value
for col
in row]
-
-
#经过坐标读取值
-
cell_11 = booksheet.cell(
'A1').value
-
cell_11 = booksheet.cell(row=
1, column=
1).value
原理上其实都同样,就写法上有些差异。3d
-------------------------------------------------------------------------------------------------------code
其实若是对存储格式没有要求的话,我以为存成 csv文件 也挺好的:
-
import pandas
as pd
-
-
csv_mat = np.empty((
0,
2),float)
-
csv_mat = np.append(csv_mat, [[
43,
55]], axis=
0)
-
csv_mat = np.append(csv_mat, [[
65,
67]], axis=
0)
-
csv_pd = pd.DataFrame(csv_mat)
-
csv_pd.to_csv(
"test_pd.csv", sep=
',', header=
False, index=
False)
由于它读起来很是简单:
-
import pandas
as pd
-
-
filename =
"D:\\Py_exercise\\test_pd.csv"
-
csv_data = pd.read_csv(filename, header=
None)
-
csv_data = np.array(csv_data, dtype=float)