如何将Excel表格中的两列数据每一行保存到一个TXT中

将Excel表格中的序号和序列两列内容,一一对应一行保存到一个TXT中。

img

img


名字命名为序号那列,每行一个TXT。
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'])

编程实现