Python 如何比较CSV文件中的两个表?
我需要从一个csv文件中获取一列,并将此列与另一个csv文件中的另一列进行比较,以找到匹配项 我不能用熊猫,我提取表格后卡住了Python 如何比较CSV文件中的两个表?,python,csv,Python,Csv,我需要从一个csv文件中获取一列,并将此列与另一个csv文件中的另一列进行比较,以找到匹配项 我不能用熊猫,我提取表格后卡住了 def first(): with open('1.csv') as csv_file: for line in csv_file.readlines(): array = line.split(',') list_pk = array[1] def sec(): with open('2
def first():
with open('1.csv') as csv_file:
for line in csv_file.readlines():
array = line.split(',')
list_pk = array[1]
def sec():
with open('2.csv') as csv_file:
for line in csv_file.readlines():
array = line.split(',')
list_fk = array[0]
我希望它能帮助你
def findMatch():
with open('old.csv', 'r', newline='') as t1, open('new.csv', 'r', newline='') as t2:
for line1,line2 in zip(t1,t2):
if line1.split(' ')[colum_index]!=line2.split(' ')[colum_index]:
print(line1,line2)
findMatch()
- 如需更多帮助,请参阅
- 有关zip/izip的信息,请参阅
from itertools import zip_longest
def findMatch():
with open('old.csv', 'r', newline='') as t1, open('new.csv', 'r', newline='') as t2:
for line in zip_longest(t1,t2):
print(line)
if line[0]!=line[1]:
print("nq")
findMatch()
zip_最长引用:-整行匹配还是只匹配特定列?还有,你的文件有多大?它们可以加载到内存中吗?@urban-specific-column,该文件很小,最大值为4000行您读取的ID。无论如何,我发现使用
csvkit
来csvjoin
将文件和csvgrep
值连接在一起通常比编写python脚本更容易,尽管有时这些工具受到限制,无法定义您在问题中所说的“比较”。您也没有正确打开csv文件-建议您查看文档中的示例。我想您应该将每行的第一项存储在某些数据结构中。当您在Python 3.x中open()
csv文件时,您应该使用newline='
,如文档中所示。@soheshdoshiif line1.split('[1] != line2.split(“”)[0]:indexer错误:列表索引超出范围
由于列长度为different@Nikolai这就是我给你zip/izip参考的原因。请做一些研究