python使用pandas和xlsxwriter读写xlsx文件

本文详细介绍如何使用Python的pandas库进行Excel数据的读取、筛选、转换及写入操作,包括读取前n行数据、特定行列数据、列名及行号,以及将数据转换为字典和写入新的xlsx文件。

已有xlsx文件如下:

 
1. 读取前n行所有数据

# coding: utf-8
import  pandas  as pd
 
 
# 1. 读取前n行所有数据
 
df = pd.read_excel('school.xlsx')#读取xlsx中第一个sheet
data1 = df.head(7)   # 读取前7行的所有数据,dataFrame结构
data2 = df.values    #list形式,读取表格所有数据
print("获取到所有的值:\n{0}".format(data1)) #格式化输出
print("获取到所有的值:\n{0}".format(data2)) #格式化输出

2. 读取特定行,特定列

# coding: utf-8
import  pandas  as pd
 
 
# 2. 读取特定行,特定列
df = pd.read_excel('school.xlsx')  #读取xlsx中第一个sheet
 
data1 = df.ix[0].values     #读取第一行所有数据,0表示第一行,不包含表头
data2 = df.ix[1,1]   #读取指定行列位置数据
data3 = df.ix[[1,2]].values   #读取指定多行
data4 = df.ix[:,[0]].values   #读取指定列的所有行
#data4 = df[u'class'].values   #同上
data5 = df.ix[:,[u'class',u'name']].values   #读取指定键值列的所有行
 
print("数据:\n{0}".format(data1))
print("数据:\n{0}".format(data2))
print("数据:\n{0}".format(data3))
print("数据:\n{0}".format(data4))
print("数据:\n{0}".format(data5))

3. 获取xlsx文件行号,所有列名称

# coding: utf-8
import  pandas  as pd
 
 
# 3. 获取xlsx文件行号,所有列名称
df = pd.read_excel('school.xlsx')  #读取xlsx中第一个sheet
 
print("输出行号列表{}".format(df.index.values))   # 获取xlsx文件的所有行号
print("输出列标题{}".format(df.columns.values))   #所有列名称

 

4. 读取xlsx数据转换为字典

# coding: utf-8
import  pandas  as pd
 
 
# 4. 读取xlsx数据转换为字典
df = pd.read_excel('school.xlsx')  #读取xlsx中第一个sheet
test_data=[]
for i in df.index.values:#获取行号的索引,并对其进行遍历:
    #根据i来获取每一行指定的数据 并利用to_dict转成字典
    row_data=df.ix[i,['id','name','class','data','stature']].to_dict()
    test_data.append(row_data)
print("最终获取到的数据是:{0}".format(test_data))

5. 写xlsx文件

#coding: utf-8
import xlsxwriter
 
# 创建工作簿
file_name = "first_book.xlsx"
workbook = xlsxwriter.Workbook(file_name)
 
# 创建工作表
worksheet = workbook.add_worksheet('sheet1')
 
# 写单元格
worksheet.write(0, 0, 'id')
worksheet.write(0,1, 'name')
worksheet.write(0,2, 'class')
worksheet.write(0,3, 'data')
 
# 写行
worksheet.write_row(1, 0, [1, 2, 3])
 
# 写列,其中列D需要大写
worksheet.write_column('D2', ['a', 'b', 'c'])
 
# 关闭工作簿
workbook.close()


写入的xlsx文件如下:

数据转换器设计与Sigma-Delta调制器概述本课程围绕Sigma-Delta(ΣΔ)调制器的设计与仿真展开,重点讲解其在数据转换(ADC/DAC)中的应用。课程涵盖基础理论、调制器结构、噪声整形技术及实际设计挑战,并通过Simulink实验强化实践能力。#### **1. 核心原理**- **过采样与噪声整形**:Sigma-Delta调制器通过超高频采样(过采样)降低量化噪声密度,并利用反馈环路将噪声“整形”到高频区域,再通过数字滤波去除,显著提升信噪比(SNR)。例如,一阶调制器每加倍采样率可提升1.5比特分辨率,效率远超传统过采样(仅0.5比特/倍频程)。 - **调制器结构**: - **一阶调制器**:结构简单但存在“空闲音”(周期性量化噪声)“死区”(小信号失真),需引入抖动(dither)改善线性度。 - **二阶调制器**:噪声抑制能力更强(SQNR∝OSR⁵),稳定性更好,但需限制输入幅度(通常<80%满量程)以避免积分器饱。 - **高阶调制器**(≥3阶):直接级联积分器易失稳,需优化噪声传递函数(NTF),如通过**CIFB**(级联积分反馈)或**CRFB**(级联谐振反馈)结构引入极点,平衡噪声抑制与稳定性。 #### **2. 关键技术**- **多比特量化**:增加量化器位数可降低量化噪声并扩展稳定输入范围,但需高线性DAC。DAC的非线性误差会直接混叠到信号带宽,因此需**动态元素匹配(DEM)**技术(如随机化、数据加权平均DWA)分散失配误差。 - **多级噪声整形(MASH)**:通过级联低阶调制器(如1-1-1或2-1结构)实现高阶噪声整形,但需精确匹配各级NTF以避免误差泄漏。2+1 MASH因容错性高(容忍~3%失配)被广泛用于消费电子(如早期iPod)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值