def is_valid_date(date_str): try: datetime.strptime(date_str, '%Y-%m-%d') return True except ValueError: return False if __name__ == '__main__': df = pd.read_excel('data/s.xlsx') df = pd.DataFrame(df) ds = None for i in df.iterrows(): if is_valid_date(i['合同到期时间'].str): ds.concat(i) print(ds)
时间: 2024-01-11 16:02:35 浏览: 34
这段代码存在几个问题:
1. `pd.read_excel()` 方法需要传入完整的文件路径,你只传入了相对路径 `'data/s.xlsx'`,需要根据实际情况修改为文件的完整路径。
2. `df.iterrows()` 返回的是一个元组,第一个元素是索引值,第二个元素是该索引对应的 Series 对象。因此,在循环中需要使用 `i[1]` 而不是 `i`。
3. `ds` 变量未初始化,需要先赋值为一个 DataFrame 对象。
4. `ds.concat()` 方法需要传入一个 DataFrame 对象,而不是一个元组或 Series 对象。可以使用 `pd.DataFrame(i[1]).T` 将 Series 对象转换为行向量的 DataFrame 对象,再通过 `pd.concat()` 方法将其添加到 `ds` 中。
修改后的代码如下:
```python
import pandas as pd
from datetime import datetime
def is_valid_date(date_str):
try:
datetime.strptime(date_str, '%Y-%m-%d')
return True
except ValueError:
return False
if __name__ == '__main__':
df = pd.read_excel('/path/to/data/s.xlsx')
df = pd.DataFrame(df)
ds = pd.DataFrame()
for i in df.iterrows():
if is_valid_date(i[1]['合同到期时间']):
ds = pd.concat([ds, pd.DataFrame(i[1]).T])
print(ds)
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![whl](https://img-home.csdnimg.cn/images/20210720083646.png)
![xlsx](https://img-home.csdnimg.cn/images/20210720083732.png)
![whl](https://img-home.csdnimg.cn/images/20210720083646.png)