1. 程式人生 > >C# 讀寫文字檔案並匯入Excel(一)

C# 讀寫文字檔案並匯入Excel(一)

一、本程式的主要思想

   利用ReadAllTextWriteAllText方法讀寫文字檔案,並且把他們以逗號分隔,形成能被Excel直接匯入並且分列的資料。

二、程式的執行結果

   執行前,必須在相應目錄建立文字檔案,方便程式的讀寫。程式執行前的資料如圖:

 

程式執行後的資料如圖:

 

有些看不懂是吧?並沒有關係,計算機看的懂就可以了。

最後用Excel裡面的資料匯入功能,把目標文字.txt匯入Excel並分列,讀者們就估計看的懂了。如圖:

 

三、程式設計實現

  主要演算法思想,因為在原格式中,左右括號“【”和“】”的出現非常有規律,而且每題都有換行。所以思路就是用一個int變數

count記錄括號出現的次數,當count是奇數時,表示在括號內,不讀取資料;當count是偶數時,表示在括號外,可以讀取資料。另外不讀取換行符,空白符和製表符。

原始碼如下:

 string text = System.IO.File.ReadAllText(@"E:\原文字.txt");          

            string targetText = "題目,答案\n";

            int N = 100;

            string[] question = new string[N];

            string[] answer=new

 string[N];

            int count = 0;

            int qNum = 0;

            int aNum = 0;

            for(int i=0;i<text.Length;i++)

            {

                if ((text[i] == '【')||(text[i]== '】'))

                    count++;

                if((count%2==0)&&(count!=0))

                {

                    if

 (((count/2)%2==1)&&(text[i+1]!= '【') && (text[i + 1] != '\r') && (text[i + 1] != '\n'))

                    {

                        qNum = (count/2 - 1) / 2;

                        question[qNum] = question[qNum] + text[i + 1];

                    }

                    else if(((count/2)%2==0)&&(i<text.Length-1) && (text[i + 1] != '【') && (text[i + 1] != '\r') && (text[i + 1] != '\n'))

                    {

                        aNum = (count / 2) / 2-1;

                        answer[aNum] = answer[aNum] + text[i + 1];

                    }

                }  

            }

            for(int i=0;i< N;i++)

            {

                targetText = targetText + question[i] + "," + answer[i] + "\n";

            }

            System.IO.File.WriteAllText(@"E:\目標文字.txt", targetText);

            // Keep the console window open in debug mode.

            Console.WriteLine("Press any key to exit.");

            System.Console.ReadKey();

相關推薦

C# 文字檔案匯入Excel

一、本程式的主要思想    利用ReadAllText和WriteAllText方法讀寫文字檔案,並且把他們以逗號分隔,形成能被Excel直接匯入並且分列的資料。 二、程式的執行結果    執行前,必須在相應目錄建立文字檔案,方便程式的讀寫。程式執行前的資料如圖:   程

C/C++文字檔案、二進位制檔案

//採用CPP模式讀取txt void TextRead_CPPmode() { fstream f; f.open("txt_out.txt",ios::in); //檔案開啟方式選項: // ios::in    = 0x01, //供讀,檔案不存在則建立(ifstream預設的開啟方式) /

C#文字檔案

C#中讀寫文字檔案.txt檔案既可以用File類也可用StreamReader、StreamWrite類。這兩種方法都需要引用using System.IO名稱空間。下面分別給出例子:1.File類寫入

JAVA中 IO流文字檔案的讀取方式read 的用法

JAVA中 IO流文字檔案的讀取方式(read 用法) 首先,我們先用通常的read方法去讀 程式碼 import java.io.FileReader; import java.io.IOException; public class FileReaderd

用Python讀取Word文件寫入Excel

工作中經常要處理大量的word文件,大部分內容都很簡單,比如說做一個彙總表,從發來的word文件裡提取名字、聯絡方式、地址等資訊,提取完之後還需要用Excel做彙總,對於十幾份的文件尚好,但對於成百份,

(C/C++)(/)(二進位制檔案/文字檔案)

C++寫二進位制檔案 std::ofstream fout("a.dat", std::ios::binary); int nNum = 20; std::string str("Hello, world"); fout.wr

C++中txt檔案分離字元

在實際工程中,經常遇到需要讀取txt檔案,txt檔案中存的是一些小數或者整型資料,在C++中,可以利用string類和ifstream庫檔案對txt進行的讀取,不過讀回的資料經常是以字串的形式返回,一般是txt的一行為一個字串返回。那麼如何從字串中分離出整數或者是小數就涉及

C++XML檔案libxml2庫

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

C++XML檔案使用tinyxml庫

使用以下程式碼之前,需要下載TinyXml庫,幷包含到工程下 #include <stdio.h> #include "tinyxml.h" #include <iostream> #include <cstring> usin

C#txt檔案的兩種方法介紹

1.新增名稱空間   System.IO;   System.Text; 2.檔案的讀取   (1).使用FileStream類進行檔案的讀取,並將它轉換成char陣列,然後輸出。 byte[] byData = new byte[100]; c

支援各種特殊字元的 CSV 解析類 (.net 實現)(C#CSV檔案)

CSV是一種十分簡潔的資料結構,在DOTNET平臺實際使用中發現微軟官方並沒有提供預設的方法,而網上好多例子發現實現並不嚴謹甚至一些含有明顯錯誤,所以後面自己實現了一個讀寫工具類,這裡發出來希望方便後面朋友(難免還是會有考慮不到的地方,可隨時郵件聯絡) 使用該工具可對csv檔案進行讀寫(甚至不用去了解CSV的

WINCE C#INI檔案

最近開發一個CE上的GPS程式,用到配置儲存,由於資料比較少且資料結構簡單,所以採用了INI格式,WINCE沒有提供windows裡讀寫ini的函式,就自己寫了一個,程式碼如下(C#):     ///////////////////////////////////////

VBA建立文字檔案文字檔案

Private Sub CommandButton1_Click() Dim gPath As String Dim sFile As Object, Fso As Object gPath = Application.ActiveWork

Flask成長筆記--如何在Flask框架裡面文字檔案

一、設定根目錄  我在工程專案中有一個專門的configure.py,用於寫全域性的配置。 我的文字檔案在工程目錄的static/txt中 #encoding: utf-8 import

C# INI檔案

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; u

C# XML檔案的方法詳細總結

XmlDocument類的屬性 屬性 說明 Attributes 當前節點的屬性集合 BaseURI 當前節點的基URI ChildNodes 節點的所有子節點 Doc

「Python」pythoncsv檔案增加行列

# -*- coding: utf-8 -*- """ Created on Thu Aug 17 11:28:17 2017 @author: Shawn Yuen """ import csv

java中文字檔案

寫文字資料 方法 一: import java.io.*; public class A {     public static void main(String args[]) {        FileOutputStream out;        PrintStr

C++ 檔案程式碼

可讀寫大於4G的檔案,測試檔案為vs2013安裝包,大小為7.08G。程式為64bit。 #include "stdafx.h" #include <windows.h> #include <memory.h> #include &

Java使用RandomAccessFile文字檔案

指定位置寫入 RandomAccessFile file = new RandomAccessFile("c:\\k.txt", "rw");  file.seek(2*2);//跳過倆個位元組 file.write("人".getBytes());//防止亂碼 指定位