我需要将一些数据打印到Python 3.4 / 3.2中的txt文件中。
文件中的每一行都有以下格式:
col1 | col2 | col3 |
id1 CT_TYPE value1 CT_TYPE value2
AR CT1 239 CT2 9.66
AR CT3 8.65
NY CT1 6.25 CT2 67.89
NY CT3 78.61
对于相同的id1,如果CT_TYPE的值超过2,则必须在col2和col3中打印它们,并且唯一的id1类型的最后一个值可以使col3为空。例如,以下打印格式错误。
col1 | col2 | col3 |
id1 CT_TYPE value1 CT_TYPE value2
AR CT1 239 " this cannot be left as blank"
AR CT2 9.66 CT3 8.65
对于不同的id1值,必须添加新行。例如,id1 = NY不能与AR在同一行:
AR CT3 8.65 NY CT1 6.25 // this is not allowed.
需要打印数十万条数据线。我不想使用排序,因为数据大小要大,以保存在python中的数据结构中。所以,我必须逐块加载数据库中的数据并将它们打印到文件中。我可以确保从数据库加载的每个块都具有相同的id1值。
我的问题是如何确保在逐块打印数据时保留上述格式? 在python中,我使用了:
with open(fileName, 'a') as f:
f.wite(aLine + "\n");
如何更改当前打印位置,以便在同一行打印相同id1类型的CT_type值,即使在打印完最后一条数据行后添加了换行符“\ n”也足够了。例如,如果我的文件包含以下内容:
col1 | col2 | col3 |
id1 CT_TYPE value1 CT_TYPE value2
AR CT1 239
新区块中的新数据行如下:
AR CT2 9.66
我想:
col1 | col2 | col3 |
id1 CT_TYPE value1 CT_TYPE value2
AR CT1 239 CT2 9.66
不是:
col1 | col2 | col3 |
id1 CT_TYPE value1 CT_TYPE value2
AR CT1 239
AR CT2 9.66
由于
答案 0 :(得分:0)
如果我正确理解了这个问题,我会使用它只存储id和cttype的东西,直到找到id匹配,然后从内存输出到file和del。以下是插图
argparse.py
以上内容仅供参考,可能有错误或其他问题。