Pandas 读取 csv 得 DataFrame 转换成 List

用pandas读取csv文件会得到DataFrame,若要进行List相关操作需转换。常规转换分三步:用np.array转成np.ndarray,对ndarray reshape并用tolist转List,取List首元素。还有更简单方法,可直接用Dataframe.values.tolist()转列表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DataFrame转为list

用 pandas 读取 csv 文件时,会得到 DataFrame,后期如果需要进行一些 List 相关操作,需要进行转换,分为三个步骤:

  1. 用 np.array 将DataFrame 转换成 np.ndarray
  2. 对 ndarray 进行 reshape并用 tolist 转换成 List
  3. 取 List 的第一个元素

示例代码如下:

import pandas as pd
import numpy as np

corpus = pd.read_csv('corpus.csv') # 得到 DataFrame
corpus = np.array(corpus)  # 转换为 ndarray [[1], [2], [3]]
corpus = corpus.reshape(1, len(corpus)).tolist()  # 转换成 List [[1, 2, 3]]
corpus = corpus[0]  # 取第一个元素得到最终结果 [1, 2, 3]

啊,今天小伙伴看到之后告诉我还有更简单的一种办法,我果然还是太年轻了,果然还是个弟弟。

corpus = pd.read_csv('corpus.csv')
corpus = corpus.values.tolist()

也就是说可以直接利用 Dataframe.values.tolist() 转换成列表。再次感慨,我真是个弟弟。(长叹一口气)

### 使用 Python PandasCSV 文件加载到 DataFrame 中 要将单个或多个 CSV 文件加载到 PandasDataFrame 中,可以利用 `pandas` 库中的函数实现这一目标。以下是具体方法: #### 单个 CSV 文件的读取 对于单一的 CSV 文件,可以直接使用 `pd.read_csv()` 函数将其转换为 DataFrame。 ```python import pandas as pd # 假设有一个名为 'example.csv' 的文件 df = pd.read_csv('example.csv') print(df.head()) # 显示前几行数据以便验证 ``` 此代码片段展示了如何通过指定路径来读取一个单独的 CSV 文件并创建对应的 DataFrame 对象[^1]。 #### 批量读取多个 CSV 文件 当需要处理多份 CSV 数据时,则可以通过循环遍历目录下的所有相关文件名列表,并逐一调用上述方式完成操作;或者采用更简洁的方式——借助 glob 模块自动匹配符合条件的所有文件路径字符串表达式(通配符),从而简化流程如下所示: ```python import os import pandas as pd path = './data/' # 设置存储CSV文件夹的位置 all_files = [os.path.join(path, fname) for fname in os.listdir(path) if fname.endswith('.csv')] dfs = [] for filename in all_files: df_temp = pd.read_csv(filename, index_col=None, header=0) dfs.append(df_temp) # 合并所有的DataFrame成为一个整体的大表 big_frame = pd.concat(dfs, ignore_index=True) print(big_frame.head()) ``` 另一种更为优雅的做法是运用 list comprehension 结合 `glob` 来获取文件列表以及一次性构建完整的 DataFrame: ```python from pathlib import Path import pandas as pd files = sorted(Path('./data/').glob('*.csv')) dfs = (pd.read_csv(file) for file in files) big_df = pd.concat(dfs, ignore_index=True) print(big_df.tail()) ``` 这里还特别提到了一种情况,即某些 Excel 文件可能具有复杂的头部结构,比如双重索引头等情况,则需调整参数设置如例子所展示那样传递额外的关键字参数给 read_excel 方法[^2]。 另外值得注意的一点是在实际应用过程中可能会遇到各种各样的特殊需求,例如不同的编码格式、缺失值标记等等,这些都可以通过对相应选项进行配置来自定义行为满足特定场景的要求[^3]。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值