将二维表转DataFrame并保存为CSV
郝伟 2022/10/23 10:37:56 星期天

本文简介

二维表是最为常用的一种数据类型,在本文中介绍了最为易懂的二维表转DataFrame并保存为CSV的过程。

二维表转DataFrame

以下代码分为三分部

  1. 数据生成,通过随机值模拟数据生成过程;
  2. 数据转换,将数据转换为DataFrame对象;
  3. 数据存储,利用DataFrame对象将数据转换为CSV。
import pandas as pd
import numpy as np
import random

#### 第1步:数据生成,通过随机值模拟数据生成过程 ###
# 使用元组列表的方式表示数据,先添加表头
data = [('学号', '姓名', '年龄', '出生地')]
# 循环添加数据,每个数据是一个4维元组 (学号, 姓名, 年龄, 出生地),使用随机生成的方式
for i in range(35):
    sid = f'20220512{i+1:0>2d}'
    name = random.choice(list('赵钱孙李周吴郑王')) + random.choice('俊杰鹏飞倩媛文静佳莹玲慧丽杰小龙浩然')
    age = random.choice([18,19,20,21])
    city = random.choice('北京,上海,天津,济南,合肥,广东,南昌'.split(','))
    # 注意:添加时有2层括号,内里表示元组的括号,外层是函数括号
    data.append((sid, name, age, city))

#### 第2步:数据转换,将数据转换为DataFrame对象 ###
# 将元组列表转换为pandas.DataFrame对象
df = pd.DataFrame(data, columns=['学号', '姓名', '年龄', '出生地']) 
print(df)


#### 第3步:数据存储,利用DataFrame对象将数据转换为CSV ###
# 将所有数据保存到当前目录下的 data.csv 中,仅需1行代码
df.to_csv('data.csv')

结果输出

以下为输出, 由于是随机生产,每次的值可能都不相同,但格式相同。
注意:第1列序号为 DataFrame 自动生成,可以用于行数据的索引。

            学号  姓名  年龄 出生地
0   2022051201  周丽  19  北京
1   2022051202  赵鹏  19  天津
2   2022051203  钱龙  21  南昌
3   2022051204  孙然  20  广东
4   2022051205  赵媛  20  上海
5   2022051206  王然  20  济南
6   2022051207  钱媛  19  合肥
7   2022051208  钱莹  19  合肥
8   2022051209  孙佳  21  天津
9   2022051210  王小  21  上海
10  2022051211  王莹  21  北京
11  2022051212  孙媛  19  济南
12  2022051213  赵静  20  南昌
13  2022051214  李杰  20  广东
14  2022051215  赵媛  20  合肥
15  2022051216  王文  20  南昌
16  2022051217  郑浩  20  南昌
17  2022051218  钱丽  20  天津
18  2022051219  赵慧  19  北京
19  2022051220  周倩  21  合肥
20  2022051221  赵丽  20  济南
21  2022051222  李丽  20  上海
22  2022051223  吴玲  18  合肥
23  2022051224  李文  19  北京
24  2022051225  赵杰  21  天津
25  2022051226  李俊  21  天津
26  2022051227  孙鹏  21  上海
27  2022051228  孙杰  20  南昌
28  2022051229  赵慧  21  广东
29  2022051230  王杰  21  南昌
30  2022051231  吴文  19  济南
31  2022051232  钱莹  18  济南
32  2022051233  钱小  19  天津
33  2022051234  赵玲  19  广东
34  2022051235  郑慧  21  上海