【发布时间】:2021-02-22 00:54:29
【问题描述】:
使用 python (2.6.9) 我已将 Oracle DB 中的数据提取到 .CSV 文件中(以避免元组)。
在 .CSV 中,我有两列没有标题的数据。
第 1 列包含产品编号。 第 2 列包含产品存储的位置。
.CSV 中的示例 sn-p:
60139420 1011011990042
60139420 1013071990182
60139421 1009041990122
60139421 1007091990161
60144228 1014101990542
60160281 1003091990212
60181944 1006021990541
我想要实现的是通过第 1 列进行过滤以找到所有唯一值(产品编号仅出现一次),并返回这些值,但也有从第 2 列返回的相应位置。
所以从上面的例子中,我希望输出是:
60144228 1014101990542
60160281 1003091990212
60181944 1006021990541
因为这三种产品都是独一无二的。
这些值可以附加到另一个变量/数组。
披露,我对 Python 还是很陌生。我检查了 stackoverflow 和其他在线资源以获取示例/帮助,但要么无法理解我找到的内容,要么无法找到我需要的内容。
这让我想到了我的第一个问题。
这是我目前的代码。
import cx_Oracle
import csv
conn = cx_Oracle.connect("some db credentials")
c = conn.cursor()
sql = ('''some sql query''')
c.execute(sql)
results = c.fetchall()
with open("test_file.csv", "w") as file:
for row in results:
csv.writer(file).writerow(row)
c.close()
conn.close()
如果有一种方法可以使用我的代码来实现这一目标,或者有更好的整体实现方式,我们将不胜感激。
提前谢谢你!
【问题讨论】:
标签: python csv sorting python-2.x