【发布时间】:2018-06-16 16:14:06
【问题描述】:
一段时间以来,我一直在为这个特殊问题苦苦挣扎:
我有一个output.csv 文件,如下所示:
还有一个像这样的07.csv 文件:
我想做的是从 output.csv 文件中的 mmsi 列中获取值,并检查这些值中的任何一个是否在 07.csv 的任何行中,然后将这些行提取到新的 results072.csv 文件中。 到目前为止,这是我的代码,但它做了一件非常奇怪的事情:它以某种方式使这个新文件与 07.csv 一样大,并且包含更多值的行的外观。 我真的很感激一些反馈!提前谢谢!
import csv
with open('output.csv') as hashes:
hashes = csv.reader(hashes,delimiter = ',')
hashes = set(col[1] for col in hashes)
hashi= list(hashes)
with open('07.csv') as input_file, open('result072.csv', 'w') as output_file:
reader = csv.reader(input_file,delimiter = ',')
writer = csv.writer(output_file,delimiter = ',')
for row in reader:
if any(item in row for item in hashi):
writer.writerow(row)
【问题讨论】:
-
您的 python 代码看起来很无格式 - 请您再检查一下格式吗?
-
我重新格式化了 - 在审批队列中等待
-
我无法测试您的代码,因为我无法将图像加载到我的文本编辑器中。但看起来第一个 CSV 的 mmsi 值都没有在第二个 CSV 中重复,因此您的程序应该不会产生任何输出。也许你应该给我们一些更好的示例输入,并以文本形式,以便我们实际使用它。
-
@PM 2Ring These are two lines in the 07.csv : time sog y x mmsi 1420598820 0.10000000149011612 54.635935 -8.439985 250000527 1420664100 2.9000000953674316 54.44025 11.382183333333 211312240 And these two are from output.csv imo mmsi name flag type 9107617 211312240 GLAUBE DE Fishing 9040675 250000527 F/V RACHEL IE Fishing Vessel 抱歉格式错误 我仍在学习如何绕过这里。感谢您的帮助!
标签: python python-2.7 file csv