本文实例为大家分享了python表格存取的具体代码,供大家参考,具体内容如下
xlwt/xlrd库 存Excel文件:(如果存储数据中有字符,那么写法还有点小小的变化)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
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文件:(同样是对于数值类型数据)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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文件:
1
2
3
4
5
6
7
8
9
10
|
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文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
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
|
原理上其实都一样,就写法上有些差别。
其实如果对存储格式没有要求的话,我觉得存成 csv文件 也挺好的:
1
2
3
4
5
6
7
|
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 )
|
因为它读起来非常简单:
1
2
3
4
5
|
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 )
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://www.cnblogs.com/ouyangping/p/8514364.html