读取txt文件保存成csv(excel)

基本读取txt并保存成csv方法

#include <iostream>
#include <fstream>
#include <iomanip> // 用于设置输出的格式
#include <sstream>
using namespace std;

int main() {
    //std::ofstream outputFile1("outputexcel.txt", std::ios::binary | std::ios::app); // 追加模式
    std::ifstream inputFile("endexcel.txt"); // 替换为你的输入文件名
    std::ofstream outputFile("finally.csv"); // 创建输出文件


    if (!inputFile.is_open() || !outputFile.is_open()) {
        std::cerr << "无法打开文件" << std::endl;
        return 1;
    }
    int i = 0;
    outputFile << "Page,Addr,Value" << std::endl;     //示例,前三列第一行的标头
    
    std::string line = "";
    while (std::getline(inputFile, line)) {
        

        outputFile << line << std::endl;
    
    }

    inputFile.close();
    outputFile.close();
    
    system("pause");
    return 0;
}

特殊格式的txt文件转成csv文件

每个P50算一页

代码:

#include <iostream>
#include <fstream>
#include <iomanip> // 用于设置输出的格式
#include <sstream>
using namespace std;

int main() {
	//std::ofstream outputFile1("outputexcel.txt", std::ios::binary | std::ios::app); // 追加模式
	std::ifstream inputFile("endexcel.txt"); // 替换为你的输入文件名
	std::ofstream outputFile("finally.csv"); // 创建输出文件

	std::ofstream outputFile1("testexcel.txt"); // 创建输出文件
	if (!inputFile.is_open() || !outputFile.is_open()) {
		std::cerr << "无法打开文件" << std::endl;
		return 1;
	}
	int i = 0;
	outputFile << "Page,Addr,Value" << std::endl;
	int hexCounter = 0x0100; // 用于存储递增的16进制数
	std::string line="";
	while (std::getline(inputFile, line)) {
		int length = line.length(); // 计算当前行字符串的长度
		i++;
		std::string beginFour = line.substr(0, 6);
		std::cout << beginFour << std::endl;
		std::string middleFour = line.substr(6, 4);
		std::cout << middleFour << std::endl;
		std::string lastFour = line.substr(length - 4, 4);
		std::cout << lastFour << std::endl; 

		
		outputFile << beginFour << "," << middleFour << "," << lastFour << std::endl;
		outputFile1 << line << std::endl;
		beginFour = "";
		middleFour = "";
		lastFour = "";
		line = "";
	}
	cout <<"数量为:" <<i << endl;
	inputFile.close();
	outputFile.close();
	outputFile1.close();
	system("pause");
	return 0;
}

成效:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值