将整数和字符串列表转换为不带逗号或括号的表或空格数据

2024-06-28 19:00:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我为从oracle数据库中提取数据编写了以下代码:

import cx_Oracle
import simplejson
# Database connection 
connstr = 'user/password@110.247.112.333:1678/tyu333.website.com'
conn = cx_Oracle.connect(connstr)
curs = conn.cursor()
curs.execute('select PROJ_ID, PROJ_NAME from GMN.GMN_PROJECT')
#Saving the data extracted into a file
f = open('Project-trial.txt', 'w')
for result in curs:
print result
x = list(result)
f.write("%s\n" % str(x))
curs.close()
f.close()
conn.close()

输出如下:

[101, 'Smpl_Project1'][102, 'Smpl_Project2' [103, 'Smpl_Project3']

现在我需要修改这个输出格式,使数据在一个表中,或者只有空格,没有逗号、撇号或括号。你知道吗


Tags: 数据代码import数据库closeresultconnoracle
1条回答
网友
1楼 · 发布于 2024-06-28 19:00:19

您正在写出行;每行都是一个序列。您可以在这里使用str.join()

with open('Project-trial.txt', 'w') as f:
    for result in curs:
        f.write("%s\n" % ' '.join([str(c) for c in result]))

或者,使用^{} module

with open('Project-trial.txt', 'wb') as f:
    writer = csv.writer(f, delimiter=' ')
    writer.writerows(curs)

这将一次性将所有行写入文件。你知道吗

在这两个示例中,我都将file对象用作上下文管理器(使用with语句),这样可以确保在完成块时自动关闭文件。你知道吗

相关问题 更多 >