我写这个循环是为了解析一个100万行的.csv文件。它工作,但只能处理约7k线/分钟。有没有一个合理的方法让它运行得更快?你知道吗
循环当前正在将数据块转换为一行,去掉多余的字符,并将每行写入一个新的.csv文件。你知道吗
pattern = re.compile(r",{2,}")
with open("OceanData.csv") as infile, open("OceanParsed.csv","w", newline="") as fout:
outfile = csv.writer(fout)
data =[]
for line in infile:
if line.startswith("#--------------------------------------------------------------------------------"):
outfile.writerow(data)
continue
for ch in ["[","]","'"," ","\n"]:
if ch in line:
line = line.replace(ch,"")
for i in line:
line =re.sub(pattern,",", line)
continue
if not line: continue
data.append(line)
样本数据:http://www.sharecsv.com/s/674dc42035c29eb4f250b5c2365c8dc6/OceanParseTest.csv
不要重新发明轮子来读取csv文件。你知道吗
您可以使用pandas。你知道吗
也可以使用csv标准库。你知道吗
要读取一个大的csv文件,如果以上这些方法不起作用。您可以将文件拆分为小文件,创建一个进程来读取每个文件。你知道吗
你的数据sample。你知道吗
我认为你的格式文件不是csv文件。假设你有这样一个部分:
清洁此部分:
格式.sh:
要获得:
如果你是1米的线,我想你有大约15000节。你知道吗
我明白了:
支票:
给井15000节,960000行,和34MB。你知道吗
。。。。你知道吗
相关问题 更多 >
编程相关推荐