利用python将txt文件中的内容写入Excel文件中

本文介绍如何使用Python的xlrd和xlwt库进行Excel(.xls)文件与TXT文件的相互转换,包括从TXT写入Excel及从Excel读取数据到TXT的完整代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python是一个强大的语言,解决这点问题非常简单。

首先我们先下载两个包,xlrd,xlwt分别可实现对excel文件的读和写操作。

接下来详见代码:
1.从txt里写入excel文件

# coding=gbk
import numpy as np
import xlrd
import xlwt
import os
f = open('txt文件路径','r',encoding='ANSI') #打开数据文本文档,注意编码格式的影响,这里用的是ANSI编码
wb = xlwt.Workbook(encoding = 'ANSI') #打开一个excel文件
ws1 = wb.add_sheet('first') #添加一个新表
row = 0 #写入的起始行
col = 0 #写入的起始列
k = 0
for lines in f: 
    a = lines.split(' ') #txt文件中每行的内容按‘ ’分割并存入数组中
    k+=1
    #rb = xlrd.open_workbook('C:\\Users\\DELL\\Desktop\\biao.xlsx')   
    #ws1 = rb.get_ws1(0)
    for i in range(len(a)):
        ws1.write(row, col ,a[i])#向Excel文件中写入每一项
        col += 1
    row += 1
    col = 0
wb.save("excel文件路径")       

2.从excel里读取并写入txt:

import xlwt
import xlrd
import os

txt_path = './b.txt'
xlsx_path='./b.xls'

f = open(txt_path, 'w')
data_xsls = xlrd.open_workbook(xlsx_path) #打开excel

sheet_name = data_xsls.sheets()[0] #获取第一个表
count_nrows = sheet_name.nrows  #获取总行数

for i in range(1,count_nrows):
    a=sheet_name.cell(i,1).value  #根据行数来取对应列的值,这里的cell(i,j),i表示行,j表示列
    line = str(a) + '\n'
    f.writelines(line)
f.close

值得注意的是,这里我们只能处理.xls文件,不能处理.xlsx文件 

Python中,利用pandas库可以方便地在Excel文件的特定区域写入DataFrame。以下是一个基本的步骤: 1. 确保已安装pandas库,如果还没有,你可以通过`pip install pandas`命令安装。 2. 导入所需的库: ```python import pandas as pd ``` 3. 创建一个DataFrame作为你要写入数据: ```python data = { 'A': ['Value1', 'Value2', 'Value3'], 'B': [1, 2, 3], 'C': [4, 5, 6] } df = pd.DataFrame(data) ``` 4. 定义目标Excel文件及位置(例如,写入特定的工作表和单元格范围)。假设你想在名为"Sheet1"的工作表的D2:E3区域开始写入: ```python file_path = 'example.xlsx' sheet_name = 'Sheet1' start_row = 2 start_col = 4 # D列对应的是Excel中的列索引,从0开始计数 ``` 5. 使用pandas的`to_excel`方法,设置参数`sheet_name`、`index`和`startrow`以及`startcol`来指定写入的位置: ```python # 读取并打开Excel文件(如果不存在则创建) if not os.path.exists(file_path): writer = pd.ExcelWriter(file_path, engine='openpyxl') else: writer = pd.ExcelWriter(file_path, engine='openpyxl', mode='a') # 写入DataFrame到指定位置 df.to_excel(writer, sheet_name=sheet_name, startrow=start_row, startcol=start_col, header=False, index=False) # 保存更改 writer.save() ``` 这段代码会覆盖"D2"单元格及其右侧的单元格,因为我们在写入前清空了这一区域。如果你想插入DataFrame而不覆盖原有内容,可以选择不写入表头(`header=False`),然后手动合并或移动单元格。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值