Python存取Excel与CSV文件的几种方法对比
本文总结了Python中存取xls和xlsx文件的几种常用方法,包括xlwt/xlrd、openpyxl以及pandas。详细对比了它们在读写数值和字符数据时的写法差异,并提供了csv文件读取的简单示例。
使用 xlwt 和 xlrd 存取 xls/xlsx 文件
在Python中,xlwt和xlrd库常用于处理xls/xlsx文件。需要注意的是,当存储含字符数据时,写法会有所变化。
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') 
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 存取 xls/xlsx 文件
openpyxl库同样用于存取xls/xlsx文件,但其读写数值类型数据的写法有所不同。
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")
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).valuecsv文件读取
csv文件读取非常简单,可以使用pandas库实现。
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) 以上就是Python存取xls/xlsx文件的几种方法总结,更多关于Python的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









