将Excel表格中的序号和序列两列内容,一一对应一行保存到一个TXT中。
将这些文件保存到一个文件夹中。
问题点:将xlsx文件内容拆分存到txt文件中.
实现的代码如下:
import os
import pandas as pd
# xlsx文件路径
file_path = r"new_file.xlsx"
# 存储的文件夹
out_folder = r"Save"
# 如果文件夹不存在就创建
if not os.path.exists(out_folder):
os.mkdir(out_folder)
df = pd.read_excel(file_path, header=0, dtype=str)
# 使用iterrows()方法逐行遍历DataFrame并输出两列的值
for index, row in df.iterrows():
print(row['Number'], row['Sequence'])
_number = row['Number']
txt_name = f"{_number}.txt"
# 文件保存路径
save_path = os.path.join(out_folder, txt_name)
# 打开文件,使用 'w' 模式写入数据
with open(save_path, 'w') as file:
file.write(f">{_number}\n{row['Sequence']}")
if os.path.exists(save_path):
print(f"数据{_number}已成功存储为txt文件。")
import pandas as pd
def excel_to_txt(input_file, output_file):
# 读取Excel文件
df = pd.read_excel(input_file)
# 获取两列数据
col1 = df['Column1']
col2 = df['Column2']
# 逐行写入TXT文件
with open(output_file, 'w') as f:
for i in range(len(df)):
line = str(col1[i]) + '\t' + str(col2[i]) + '\n' # 使用制表符分隔两列数据
f.write(line)
# 示例用法
input_file = 'input.xlsx' # 输入的Excel文件名
output_file = 'output.txt' # 输出的TXT文件名
excel_to_txt(input_file, output_file)
【相关推荐】
以下是一个Python实现,使用了 pandas 和 os 库来读取 Excel 表格并将数据保存到 TXT 文件中:
import pandas as pd
import os
# 读取 Excel 表格
df = pd.read_excel('example.xlsx')
# 遍历每一行数据,将数据保存到 TXT 文件中
for index, row in df.iterrows():
# 获取序号和序列
number = str(row['序号'])
sequence = str(row['序列'])
# 创建文件夹(如果不存在)
folder = 'output'
if not os.path.exists(folder):
os.makedirs(folder)
# 将数据保存到 TXT 文件中
filename = os.path.join(folder, number + '.txt')
with open(filename, 'w') as f:
f.write('>' + number + '\n')
f.write(sequence)
在这个实现中,我们首先使用 pandas 库读取 Excel 表格数据,并使用 iterrows()
方法遍历每一行数据。然后,我们从每一行中获取序号和序列,并使用 open()
函数打开一个 TXT 文件,将数据写入文件中。最后,我们将 TXT 文件保存到一个名为 output
的文件夹中。
安装openpyxl库
import os
from openpyxl import load_workbook
# 读取Excel文件
excel_file = "your_excel_file.xlsx" # 请替换成您的Excel文件名
workbook = load_workbook(excel_file)
sheet = workbook.active
# 创建文件夹来保存TXT文件
output_folder = "txt_output" # 文件夹名称
os.makedirs(output_folder, exist_ok=True)
# 遍历Excel行并生成TXT文件
for row in sheet.iter_rows(min_row=2, values_only=True):
index, sequence = row
txt_filename = f"{output_folder}/{index}.txt"
with open(txt_filename, "w") as txt_file:
txt_file.write(f"序号: {index}\n")
txt_file.write(f"{sequence}\n")
print("TXT文件已保存到文件夹:", output_folder)
上述代码中的 your_excel_file.xlsx 部分需要替换为您的实际Excel文件名。代码将从Excel文件中读取数据,并按照您的要求创建TXT文件,并将其保存在名为 txt_output 的文件夹中。
引用 皆我百晓生 小程序回复内容作答:
使用Python可以轻松地读取Excel表格的数据,并逐行将两列数据保存到TXT文件中。下面是使用Python处理该任务的示例代码:
import xlrd
import os
# 打开Excel文件
workbook = xlrd.open_workbook('your_file_name.xlsx')
# 选择工作表
worksheet = workbook.sheet_by_index(0) # 假设数据在第一个工作表中
# 创建一个文件夹用于保存TXT文件
output_folder = 'output_directory'
os.makedirs(output_folder, exist_ok=True)
# 遍历每一行数据并保存为TXT
for row in range(1, worksheet.nrows): # 忽略标题行,从第二行开始
index = str(int(worksheet.cell_value(row, 0))) # 序号列
sequence = worksheet.cell_value(row, 1) # 序列列
# 创建TXT文件名为序号列的值
txt_filename = os.path.join(output_folder, f'{index}.txt')
# 将序号和序列数据保存到TXT文件
with open(txt_filename, 'w') as f:
f.write(f'序号:{index}\n')
f.write(f'序列:{sequence}\n')
print('TXT文件保存完成!')
请将代码中的 your_file_name.xlsx 替换为你的Excel文件名,并根据需要更改 output_directory 为你希望保存TXT文件的文件夹路径。
另外,请确保你已经安装了 xlrd 库,你可以使用 pip install xlrd 命令进行安装。
该代码将创建一个文件夹(如果不存在)来保存TXT文件,并将每一行序号和序列数据保存为对应的TXT文件。TXT文件的命名将根据序号列的值命名。
希望这可以帮到你!如果你有任何其他问题,请随时提问。
import pandas as pd
# Excel文件名称
file_name = 'test2.xlsx'
# 工作表名称,默认是Sheet1
sheet_name = 'Sheet1'
# 保存文件的文件夹,默认为当前文件夹
dir = '.'
dataframe = pd.read_excel(file_name, sheet_name=sheet_name)
for _, row in dataframe.iterrows():
with open(dir + "/" + str(row['Number']) + '.txt', 'w') as file:
file.write('>' + str(row['Number']) + '\n')
file.write(row['Sequence'])
编程实现