python中,有两个读取的表格文件,然后两个表中均有2010/7/30这种时间格式需要进行对比,最后选出一样的内容放到一个叫new_data的新的python列表中,这个核心代码能否写一下
时间: 2023-06-02 20:05:31 浏览: 80
python进行两个表格对比的方法
5星 · 资源好评率100%
当然可以,以下是一个可能的实现:
```python
import pandas as pd
# 读取两个表格文件
table1 = pd.read_excel("table1.xlsx")
table2 = pd.read_csv("table2.csv")
# 将时间格式转换成字符串
table1["date"] = table1["date"].dt.strftime("%Y/%m/%d")
table2["date"] = pd.to_datetime(table2["date"]).dt.strftime("%Y/%m/%d")
# 找出两个表格中相同的日期
common_dates = set(table1["date"]).intersection(set(table2["date"]))
# 从两个表格中筛选出相同日期的行,放到新的列表中
new_data = []
for date in common_dates:
rows1 = table1[table1["date"] == date]
rows2 = table2[table2["date"] == date]
# 将两个表格的行合并成一行,并添加到新的列表中
for _, row1 in rows1.iterrows():
for _, row2 in rows2.iterrows():
new_data.append(dict(row1, **row2))
# 将新的列表写入到文件中
pd.DataFrame(new_data).to_csv("new_data.csv", index=False)
```
这里假设第一个表格文件名为`table1.xlsx`,第二个表格文件名为`table2.csv`,两个表格分别有一个名为`date`的列记录日期。当然,实际情况可能还需要根据具体需求进行修改,例如需要对日期进行更多的处理才能比较,或者需要将表格中的其它列也加入到新的列表中。
阅读全文