You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将嵌套列表转换为Pandas DataFrame?

优化实现方案与DataFrame构建

首先,咱们可以把日期输入和文件名的对应关系处理得更清晰,同时更高效地构建你想要的Pandas DataFrame。

步骤1:优化用户输入逻辑

你当前的列表推导式已经能获取日期,但可以把输入和文件名的绑定做得更直观,同时避免后续的追加操作。比如用zip思路,直接在输入过程中就完成日期与文件名的配对:

import pandas as pd

# 假设你的文件名列表已提前定义
filenames = ['File_2016.csv', 'File_2017.csv', 'File_2018.csv']

# 同步获取日期输入并与文件名配对
date_file_pairs = [
    (input(f'Enter the date for {filename}: '), filename)
    for filename in filenames
]

这样直接得到的是(日期, 文件名)的元组列表,比先单独存日期再追加文件名的逻辑更连贯,也更简洁。

步骤2:快速构建目标DataFrame

有了配对好的元组列表,咱们可以直接传入pd.DataFrame,指定列名就能得到你想要的结构:

df = pd.DataFrame(date_file_pairs, columns=['Date', 'File'])

最终生成的DataFrame结构如下:

DateFile
2016-01-05File_2016.csv
2017-02-03File_2017.csv
2018-01-25File_2018.csv

可选优化:日期格式验证

如果想避免用户输入不符合格式的日期,还可以加个简单的验证逻辑,让数据更可靠:

from datetime import datetime

def check_date_format(input_date):
    try:
        datetime.strptime(input_date, '%Y-%m-%d')
        return True
    except ValueError:
        print("Invalid format! Please use YYYY-MM-DD.")
        return False

date_file_pairs = []
for filename in filenames:
    while True:
        input_date = input(f'Enter the date for {filename}: ')
        if check_date_format(input_date):
            date_file_pairs.append((input_date, filename))
            break

这个小改动能确保输入的日期格式符合要求,避免后续DataFrame处理出现异常。

内容的提问来源于stack exchange,提问作者Julia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:33:31