Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Welcome to Software Development on Codidact!

Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.

Comments on Comparing two excel files with Python based on changes

Post

Comparing two excel files with Python based on changes

+3
−1

I have two tables:

Table1:

Name Description Amount
123 Description123 123
456 Description456 456
789 Description789 666
101 Description777 101
133 Description133 133

Table2:

Name Description Amount
456 Description456 456
789 Description789 789
101 Description101 101
123 Description123 123
102 Description102 102

I need to find the difference in Table1 compared it from Table2. The connection between these 2 excel files will be the column Name. Expected output is if something is changed in Table 2 the data must be used from Table 2 and if there is new rows from Table 2 they must be added to the final result. If nothing is also changed or Table 2 doesn't have any data for specific Name from Table 1 like 133 the rows also need to be added to the final result.

Expected output:

Name Description Amount
123 Description123 123
456 Description456 456
789 Description789 789
101 Description101 101
102 Description102 102
133 Description133 133

Thanks in advance!

Edit1: I struggle to find the solution. I understand how to compare each rows in the excel files, but they need to have exactly the same order in Name column. I don't know how to do it if there is no order like this specific case above.

History
Why does this post require attention from curators or moderators?
You might want to add some details to your flag.
Why should this post be closed?

2 comment threads

Thanks for the proposal Alexei, I will try it! Also I think from here I can try: https://pandas.pyda... (1 comment)
Use some sort of maps or dictionaries (1 comment)
Use some sort of maps or dictionaries
Alexei‭ wrote almost 3 years ago

I do not know Python, but it support dictionaries. You can construct a dictionary for the second table : Name -> { Description, Amount}. You iterate through the first table row by row and perform lookups in the constructed dictionary. This should be very fast since dictionary construction is linear (O(n)) and dictionary lookups are O(1).