【发布时间】:2017-07-15 13:45:24
【问题描述】:
我是 Python 新手,我编写了这段代码来比较两个 CSV 文件。这个想法是: 我的第一个 CSV 文件只有一列:
第一个 CSV
ColA
----
A
B
C
我的第二个 CSV 文件是这样的:
Country ColA ColB
-------------------------
US A
Ind B
C AU K-
我想要的是,如果第一个 CSV 文件的 ColA 记录与第二个 CSV 文件的 ColA 匹配 然后,我想解析 ColB 的“AU K-”值以仅获取“AU”并在第二个 CSV 文件所在的国家/地区进行更新。我的输出应该是这样的:
所以,我的第二个 CSV 文件/输出文件将如下所示:
Country ColA ColB
---------------------
US A
Ind B
AU C
编写以下代码来查找匹配项: 但是,我在测试时没有在控制台中获得输出。控制台只是出现和消失。
如何保留控制台以便我可以阅读匹配项?另外,如果值匹配,如何更新第二个 CSV?
以下是我的代码示例:
import pandas
with open('D:\Project\SourceFile.csv') as f:
r = pandas.read_csv(f)
with open('D:\Project\Searchfile.csv','r') as w:
x = pandas.read_csv(w)
col = w['ColA']
for line in w:
for col in w:
for row in r:
if row in col:
print(line)
注意:我在 VS 2015 和 Win7 64 位上使用 IronPython。使用 IronPython,因为我想将一些东西与 .Net 代码集成。但是,我可以使用任何普通/默认的 Python 工具。
看起来 IronPython 或 Windows 上的 Python 不知何故没有读取 CSV 文件:我提到这个 (http://pythonhow.com/data-analysis-with-python-pandas/ ) 只是为了测试,但是,什么都没有出现..不知道为什么?添加了已检查的环境变量和 Python 文件夹、DLL 和库。我究竟做错了什么? 希望我解释正确。
请提出建议。谢谢。
【问题讨论】:
-
您对
w进行了两次迭代。那应该行不通。而且你的缩进也关闭了。 -
如何开启?你能详细说明答案吗?任何解决方案链接都会有所帮助。