我们如何逐列读取文本文件。
检查我的新代码:我可以使用 text.split('')逐行读取数据 但是如何将文件作为列方式读取?让我们假设一个文件包含多少行和列,但我能够水平读取数据/值。您在下面看到的代码就是我可以执行的代码! 请参阅下面的代码: -
private void Form1_Load(object sender, EventArgs e)
{
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
string text = "";
text = textBox1.Text;
string[] arr = text.Split(' ');
textBox2.Text = arr[5];
textBox3.Text = arr[8];
}
private void button3_Click(object sender, EventArgs e)
{
string file_name = "c:\\Excel\\count.txt";
string txtline = "";
System.IO.StreamReader objreader;
objreader = new System.IO.StreamReader(file_name);
do
{
txtline = txtline + objreader.ReadLine() + "\r\n";
txtline = txtline + objreader.ReadToEnd() + "";
this.textBox1.Text = "subzihut";
}
while (objreader.Peek() != -1);
textBox1.Text = txtline;
objreader.Close();
}
private void button2_Click(object sender, EventArgs e)
{
textBox4.Text = textBox2.Text + " " + textBox3.Text;
}
}
}
答案 0 :(得分:1)
文本文件包含一系列字符,由换行符分隔,可能还有其他字符用作分隔符(通常是逗号或半字母)。
当您阅读文件时,您只需阅读此字符流。有一些辅助函数可以逐行读取这样的文件(使用换行符作为分隔符)。
在普通的.Net中,没有任何方法可以逐列阅读。
所以你应该:
string.Split()
分隔符答案 1 :(得分:1)
您可以逐行读取文件,分割线条并执行任何操作。
var lines = File.ReadLines(@"c:\yourfile.txt");
foreach(var line in lines)
{
var values = line.Split(' ');
}
答案 2 :(得分:0)
首先,最好发布您尝试过的代码,所需的结果以及您遇到的问题。 StackOverflow不是代码编写服务。
但是,有时你不知道从哪里开始。这里有一些指示。
StreamReader
。StreamReader.ReadLine()
获取第一行,然后对其进行一些简单的字符串解析。这里有一些粗略的想法
using(StreamReader sr = new StreamReadeR("C:\\my\\file\\location\\text.csv"))
{
string header = sr.ReadLine();
List<string> HeaderColumns = new List<string>(header.split(" ", StringSplitOptions.RemoveEmptyEntires));
myModelClass.Header = HeaderColumns;
等...
您也可以考虑使用某种字典来按标题名称和索引访问列。
答案 3 :(得分:0)
也许这会对你有所帮助:
public static void ReadFile(string path)
{
List<string> Col1 = new List<string>();
List<string> Col2 = new List<string>();
List<string> Col3 = new List<string>();
using (StreamReader sr = new StreamReader(path))
{
while (sr.EndOfStream)
{
string header = sr.ReadLine();
var values = header.Split(' ');
Col1.Add(values[0]);
Col2.Add(values[1]);
Col3.Add(values[2]);
}
}
}