我有大约500GB的文本文件在几个月内分开.在这些文本文件中,前43行只是连接信息(不需要).接下来的75行是观察的描述符.接下来是4行(不需要),然后是下一次观察,即75行.
事情是我想要的是这75行(描述符在每个观察的相同位置),其特征如下:
ID: 5523
Date: 20052012
Mixed: <Null>
.
.
Run Code Online (Sandbox Code Playgroud)
我希望将5523;20052012;;..每个观察结果更改为csv格式.所以我最终得到了更小的文本文件.由于描述符是相同的,我知道第一个位置例如是ID.
一旦我完成文本文件,我将打开下一个并附加它(或者创建一个新文件更快?).
我所做的是非常低效,我一直打开文件.加载它.逐行删除这些观察结果.如果它对测试样品采取了相当大的一点,那么它显然不是最好的方法.
任何建议都会很棒.
我刚刚阅读了生成器,并想知道如何使用生成器:
假设有两个文件,每个文件都有一个时间列.每个文件按升序时间排序,我希望使用时间优先级抓取这些文件中的行.而不是写一个简单的表达式(见下文),我想知道创建一个生成器next()是否是一个更好/适当的方式来读取这两个文件的时间优先级.
for line1 in file1:
do_something
try:
if time1<time2:
do_something
continue
else:
do_something
except:
pass
for line2 in file2:
do_something
if time2>time1:
break
Run Code Online (Sandbox Code Playgroud)