python-pandas-写入到xlsx-csv

注意

1. 安装过程中遇到的库相关的报错,可以自行百度.

xlsx

import pandas as pd
def write_xlsx(list_a, filenames_xlsx):
    header = ['name', 'age']
    with open(filenames_xlsx, 'w+', encoding='utf-8')as f:
        pass
    df = pd.read_csv(filenames_xlsx, header=None, names=header)
    df.to_excel(filenames_xlsx)
    list_d = []
    for ele in list_a:
        dict_w = {
            'name': ele['name'],
            'age': ele['age'],
        }
        list_d.append(dict_w)
    pd.DataFrame(list_d).to_excel(filenames_xlsx, encoding="utf-8", index=False,
                                  header=['name', 'age'])
    return


list_a = [
    {'name': 123, 'age': 12},
    {'name': 321, 'age': 13},
    {'name': 456, 'age': 15},
]
write_xlsx(list_a=list_a, filenames_xlsx='name_age.xlsx')

结果:
在这里插入图片描述


逻辑

1. 就是先创建一个空的文件.
2. 自定个xlsx的文件表头.
3. 用pandas把表头写入到文件里去
4. 然后把结果以 列表中套字典的格式写入即可.

CSV

新文件 新写入

import pandas as pd


def write_csv(list_a, filenames_xlsx):
    header = ['name', 'age']
    with open(filenames_xlsx, 'w+', encoding='utf-8')as f:
        pass
    df = pd.read_csv(filenames_xlsx, header=None, names=header)
    df.to_csv(filenames_xlsx)
    list_d = []
    for ele in list_a:
        dict_w = {
            'name': ele['name'],
            'age': ele['age'],
        }
        list_d.append(dict_w)
    pd.DataFrame(list_d).to_csv(filenames_xlsx, encoding="utf-8", index=False,
                                  header=['name', 'age'])
    return


list_a = [
    {'name': 123, 'age': 12},
    {'name': 321, 'age': 13},
    {'name': 456, 'age': 15},
]
write_csv(list_a=list_a, filenames_xlsx='name_age.csv')

结果:
在这里插入图片描述

逻辑

1.和 xlsx 的逻辑一样.

旧文件 追加写入

import pandas as pd
def add_csv(list_a, filenames_xlsx):
    list_d = []
    for ele in list_a:
        dict_w = {
            'name': ele['name'],
            'age': ele['age'],
        }
        list_d.append(dict_w)
    pd.DataFrame(list_d).to_csv(filenames_xlsx, encoding="utf-8", index=False, mode='a', header=False)
    return


list_a = [
    {'name': 999, 'age': 18},
    {'name': 988, 'age': 13},
    {'name': 977, 'age': 15},
]
add_csv(list_a=list_a, filenames_xlsx='name_age.csv')

逻辑

1. 因为表头已经存在,可以直接打开文件 进行写入操作.
2. 需要将 header=False, 添加 mode ='a'  即可.
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值