我有一个单独的.txt文件,其中包含许多表.有没有办法将每个这些读入自己的数据框?每个'table'前面都有一行标题,所以我可以搜索这些标题.
谢谢您的帮助.
我有一个文本文件随着时间的推移附加,并定期我想将其截断到一定的大小,例如10MB,但保留最后10MB而不是第一个.
有没有聪明的方法来做到这一点?我猜我应该寻找正确的点,从那里读到一个新文件,删除旧文件并将新文件重命名为旧名称.有更好的想法或示例代码吗?理想情况下,我不会将整个文件读入内存,因为文件可能很大.
请不要使用Log4Net等建议
我的老师说我们不应该使用EOF来读取文本文件或二进制文件信息,而应该使用(afile >> x).他没有解释原因,有人可以向我解释.有人也可以解释这两种不同的阅读方法有什么不同
//Assuming declaration
//ifstream foobar
( ! foobar.eof() )
{
foobar>>x; // This is discouraged by my teacher
}
while (foobar>>x)
{
//This is encouraged by my teacher
}
Run Code Online (Sandbox Code Playgroud) 我知道我可以获取我使用内置变量循环的文件的当前行号$..作为一个实验,我用它来为文件中的每一行添加前缀$.(当前行号)的值.但是,这没有按预期工作.即给出以下文件内容
line one
line two
line three
Run Code Online (Sandbox Code Playgroud)
那么我希望以下代码为每一行添加其行号前缀
for my $line (<FILE>) {
print "$. : $line";
}
Run Code Online (Sandbox Code Playgroud)
但是,它给出了以下输出
3 line one
3 line two
3 line three
Run Code Online (Sandbox Code Playgroud)
在每行前面加上文件中的行数.而不是当前的线.
我正在尝试生成一个位模式(重复字符串)并导出到文本文件中,
这是我的代码:
string pattern_01010101 = "";
for (int i = 0; i < 10; i++)
{
pattern_01010101 += "0,1,0,1,0,1,0,1,";
}
System.IO.File.WriteAllText(@"C:\BField_pattern_01010101.txt", pattern_01010101);
Run Code Online (Sandbox Code Playgroud)
结果:

现在,如果我将循环值更改为" 20 ",
string pattern_01010101 = "";
for (int i = 0; i < 20; i++)
{
pattern_01010101 += "0,1,0,1,0,1,0,1,";
}
System.IO.File.WriteAllText(@"C:\BField_pattern_01010101.txt", pattern_01010101);
Run Code Online (Sandbox Code Playgroud)
结果:
我得到这个有趣的小矩形盒子,

有人可以建议我,我在这里做错了什么?
非常感谢你的时间.. :)
在这种情况下我应该使用什么(Apache + PHP)?数据库还是只是一个TXT文件?我的首要任务是速度.
操作
谢谢.
+----------+-----+
| Name | Age |
+----------+-----+
| Joshua | 32 |
| Thomas | 21 |
| James | 34 |
| Daniel | 12 |
+----------+-----+
Run Code Online (Sandbox Code Playgroud)
Joshua 32
Thomas 21
James 34
Daniel 12
Run Code Online (Sandbox Code Playgroud) 以下是我一直在使用的内容.虽然它确实有效,但我的程序在尝试计算一个相当大的文件时会锁定,例如10,000行或更多行.较小的文件立即运行.
是否有更好的或者我应该说更快的方式来计算文本文件中的行?
这是我目前正在使用的:
Dim selectedItems = (From i In ListBox1.SelectedItems).ToArray()
For Each selectedItem In selectedItems
ListBox2.Items.Add(selectedItem)
ListBox1.Items.Remove(selectedItem)
Dim FileQty = selectedItem.ToString
'reads the data file and returns the qty
Dim intLines As Integer = 0
'Dim sr As New IO.StreamReader(OpenFileDialog1.FileName)
Dim sr As New IO.StreamReader(TextBox1_Path.Text + "\" + FileQty)
Do While sr.Peek() >= 0
TextBox1.Text += sr.ReadLine() & ControlChars.CrLf
intLines += 1
Loop
ListBox6.Items.Add(intLines)
Next
Run Code Online (Sandbox Code Playgroud) 我试图在一个非常大的文本文件30Mb +中替换600个不同的字符串.我现在正在构建一个执行此操作的脚本; 以下问题:
脚本:
$string = gc $filePath
$string | % {
$_ -replace 'something0','somethingelse0' `
-replace 'something1','somethingelse1' `
-replace 'something2','somethingelse2' `
-replace 'something3','somethingelse3' `
-replace 'something4','somethingelse4' `
-replace 'something5','somethingelse5' `
...
(600 More Lines...)
...
}
$string | ac "C:\log.txt"
Run Code Online (Sandbox Code Playgroud)
但是,由于这将检查每行600次,并且文本文件中有超过150,000多行,这意味着需要大量的处理时间.
有没有比这更有效的更好的替代方案?
干杯,对此有任何建议.
我有一个5000多行的文件.我想找到每次运行程序时选择其中一行的最有效方法.我原本打算用随机方法选择一个(之前我知道有5000行).认为可能效率低下,所以我想我会看第一行,然后从顶部删除它并将其附加到底部.但似乎我必须读取整个文件并创建一个要从顶部删除的新文件.
什么是最有效的方法:随机方法或新文件方法?
该程序将每5分钟运行一次,我使用的是c#4.5
text-files ×10
c# ×3
c++ ×2
perl ×2
.net ×1
binaryfiles ×1
database ×1
line-numbers ×1
mysql ×1
php ×1
powershell ×1
r ×1
regex ×1
replace ×1
streamreader ×1
string ×1
vb.net ×1