我有一个csv文件,看起来像这样-
#this is a dataset
#this contains rows and columns
ID value1 value2 value3
AA 5 6 5
BB 8 2 9
CC 3 5 2
我想要读csv文件,不包括那些注释行。这是可能的阅读提到,当它是'#‘跳过这些line.But这里的问题是,有一个空行后的注释,而且对于我的不同的csv文件,它可以是各种数量的注释l
我试过这个程序,它是按字符块读取我的文件,这是我想要的行为。
def read_in_chunks(file_object, chunk_size=1024):
"""Lazy function (generator) to read a file piece by piece.
Default chunk size: 1k."""
while True:
data = file_object.read(chunk_size)
if not data:
break
我在Linux CLI上有点无用,我正在尝试运行以下命令来随机排序,然后拆分一个带有输出文件前缀'out‘的文件(一个输出文件将有50行,其他文件将有50行):
sort -R somefile | split -l 50 out
我得到了错误
split: cannot open ‘out’ for reading: No such file or directory
这可能是因为split的第三个参数应该是它的输入文件。如何将排序结果传递给split?蒂娅!!
有没有一种方法可以在不用C逐行迭代的情况下获得文本文件中的特定行?
例如,我有一个文本文件names.txt,它包含以下名称;
John
James
Julia
Jasmine
我想立即访问'Julia‘,而不是遍历'John’和‘James’,比如,只要给出索引值'2‘或'3’,就可以立即访问'Julia‘。
有没有办法用C语言做到这一点?
我只想知道如何处理,因为我想处理一个非常大的文本文件,大约有30亿行,我想立即访问其中的特定行,逐行迭代非常慢
我有大量包含数据的文本文件,这些文件排列在固定数量的行和列中,这些列由空格分隔。(类似于.csv,但使用空格作为分隔符)。我想从每个文件中提取一列,并将其写入到一个新的文本文件中。
到目前为止,我已经尝试过:
results_combined = open('ResultsCombined.txt', 'wb')
def combine_results():
for num in range(2,10):
f = open("result_0."+str(num)+"_.txt", 'rb
我正在处理大的文本文件(大于100MB)。我需要尽可能快的行数。我目前正在使用下面的代码(更新:添加try-finally): var
SR: TStreamReader;
totallines: int64;
str: string;
begin
SR:=TStreamReader.Create(myfilename, TEncoding.UTF8);
try
totallines:=0;
while not SR.EndOfStream do
begin
str:=SR.ReadLine;
inc(totallines)