首页 新闻 赞助 找找看

#Python 关于pandas 将excel数据写入txt

0
悬赏园豆:50 [待解决问题]

关于数据转换
将excel中的数据转为txt;

这是excel的数据:

1.所转换的txt文件的文件名取自excel的A列;
2.B、C、D列为txt的内容、C、D为不变值
3.每个txt文件有B、C、D三条数据内容,每条换行写入;
*如图:这是正确结果展示
对应的三行数据;一条一行、换行写入;

*code:

可以创建文件名对应的每个txt文件
*输出


遇到的问题:
都是写入的最后一条数据,for循环下 value 不能对应; 不知道怎么处理循环;
正确目标:
写入数据应该是文件一[A2]下对应数据一[B2];文件二[A3]下对应数据二[B3],以此类推。

目前我的思路:
已经获得文件名与数据信息的两个列表;已知二,三行信息是形同且不变的,如何通过列表索引属性,对应写入
*输出所有excel数据对应的txt;

J_L的主页 J_L | 初学一级 | 园豆:148
提问于:2021-12-31 09:36
< >
分享
所有回答(3)
-1

伪代码(具体参数自行百度,*.csv 就是 记事本能读写的格式,改后缀为 *.txt 就是你想要的结果):

import pandas as pd

pd.read_excel()

pd.to_csv()
〆灬丶 | 园豆:2287 (老鸟四级) | 2021-12-31 10:35
import pandas as pd

df = pd.read_excel("./1.xlsx")
print(df)
"""
  文件名     数据1     数据2     数据3
0   a     123     456     789
1   b  101112  131415  161718
2   c      19      20      21
"""

# 方法1
# data_list = df.to_dict("records")
# print(data_list)
# for data in data_list:
#     file_name = data['文件名'] + '.txt'
#     tmp_data = [k + str(v) + '\n' for k, v in data.items() if k != '文件名']
#     with open(file_name, 'w') as f:
#         for i in tmp_data:
#             f.write(i)

# 方法2
for PageNumber, data in df.iterrows():
    data.to_csv(rf'./grid_{PageNumber}.csv')
支持(0) 反对(0) 〆灬丶 | 园豆:2287 (老鸟四级) | 2022-06-02 15:39
0

把写入数据的参数'w' 换成 'a' , 因为'w'会覆盖前面的内容, 'a'是追加写入的意思

天地在我心 | 园豆:202 (菜鸟二级) | 2022-06-02 11:22
0

import os

创建答案txt 并写入从.jpg提取的信息

def answer_create(path):
for file in os.listdir(path):
# print(file)
if os.path.splitext(file)[1] == ".jpg" or os.path.splitext(file)[1] == ".jpeg":
print(file)

        answer_data = file
        car_answer = answer_data.split('_')
        print(len(car_answer))
        print(car_answer[0])
        print(car_answer[1])
        print(car_answer[2])
        print(car_answer[3])
        print(car_answer[4].split('.')[1])
        print(car_answer[5])
        # other...


        # 答案取值
        finally_answer = car_answer[3]

        # 类型
        blue_data = "\n蓝\n"
        green_data = "\n绿\n"
        yellow_green_data = "\n黄绿\n"
        yellow_data1 = "\n黄\n"
        yellow_data2 = "\n黄\n"
        white_data = "\n白1\n"
        white_data2 = "\n白2\n"
        white_data3 = "\n白3\n"
        black_data = "\n黑\n"
        green_data2 = "\n绿\n"

        # 拼接答案txt
        answer_file = file.split(".")[0] + ".txt"
        print(answer_file)

        answer_path = os.path.join("H:\\file", answer_file)
        print(answer_path)

        create_answer = open(answer_path, 'a')
        # 写入answer
        create_answer.write(finally_answer + green_data)

调用create函数

answer_create("H:\file")

print("----Complete----")

J_L | 园豆:148 (初学一级) | 2022-06-02 11:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册