Maison > développement back-end > Tutoriel Python > Résumé de plusieurs méthodes d'accès aux fichiers xls/xlsx en Python

Résumé de plusieurs méthodes d'accès aux fichiers xls/xlsx en Python

不言
Libérer: 2018-05-03 11:47:05
original
3528 Les gens l'ont consulté

这篇文章主要介绍了关于Python学习_几种存取xls/xlsx文件的方法总结,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

想在深度学习程序运行时动态存下来一些参数。

存成Excel文件查看方便,就查了几种方法,做个测试。因为我平常也不怎么用 Excel,简单的存取数据就够了。

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')

Copier après la connexion

读Excel文件:(同样是对于数值类型数据)

1

2

3

4

5

6

7

8

9

10

11

12

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]

Copier après la connexion

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")

Copier après la connexion

读Excel文件:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

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

Copier après la connexion

原理上其实都一样,就写法上有些差别。

其实如果对存储格式没有要求的话,我觉得存成 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)

Copier après la connexion

因为它读起来非常简单:

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)

Copier après la connexion

相关推荐:

Python中XlsxWriter模块简介与用法分析


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal