使用Python将.txt文件内容存入.xlsx时遇错误求助
解决TXT内容逐行导入Excel的问题
嘿,我完全懂你现在的困扰!既然已经顺利完成了Excel提取数据存到Saved.txt这一步,那咱们就聚焦搞定把TXT内容逐行导入新Excel的事儿~下面给你两种适合新手的解决方案,都是Python里常用的方法,你可以根据自己的需求选:
方法一:用pandas快速搞定(代码超简洁)
pandas是处理表格数据的神器,几行代码就能完成转换,特别适合不需要逐行复杂处理的场景:
首先确保你安装了pandas和openpyxl(用来写入Excel),如果没装的话,在命令行里跑这两个命令:
pip install pandas openpyxl
然后写代码:
import pandas as pd # 读取Saved.txt,这里假设你的TXT每行是单个数据,或者用制表符/空格分隔 # 如果是逗号分隔就把sep改成',',空格分隔用sep='\s+' df = pd.read_csv('Saved.txt', header=None, sep='\t') # 写入新的Excel文件,index=False是不生成行号,header=False是不写表头 df.to_excel('new_result.xlsx', index=False, header=False)
方法二:用openpyxl逐行控制(适合需要自定义处理的场景)
如果你需要对每行内容做额外处理(比如清洗数据、拆分内容),用openpyxl可以更灵活地控制每一行的写入:
先安装openpyxl:
pip install openpyxl
然后写代码:
from openpyxl import Workbook # 创建新的Excel工作簿 wb = Workbook() ws = wb.active # 获取默认的工作表 # 打开TXT文件逐行读取并写入 with open('Saved.txt', 'r', encoding='utf-8') as txt_file: # enumerate从1开始计数,对应Excel的行号 for row_idx, line in enumerate(txt_file, start=1): # 去掉每行末尾的换行符和前后多余空格 clean_line = line.strip() # 如果每行有多个数据,比如用逗号分隔,可以拆分成列表再写入整行 # data_list = clean_line.split(',') # ws.append(data_list) # 如果是单个数据,就写入第一列 ws.cell(row=row_idx, column=1, value=clean_line) # 保存Excel文件 wb.save('new_result.xlsx')
几个要注意的小坑
- 编码问题:如果打开TXT时出现乱码,把
encoding='utf-8'改成encoding='gbk'试试,不同系统生成的TXT编码可能不一样; - 空行处理:如果你的
Saved.txt里有空行,可以加个判断if clean_line:再执行写入,避免Excel里出现空行; - 分隔符适配:根据你TXT里数据的分隔方式调整
sep或者split的参数,确保数据能正确拆分。
内容的提问来源于stack exchange,提问作者Akassharjun Shanmugarajah
相关产品推荐
相关产品推荐

