拆分CSV文件的列,CSV文件一列变多列,并存为新的表格文件

 我拿到了一个数据集,里面的数据是表格CSV的形式,每个字段是用'|'进行分割的,可以看一下数据集:

 可以看到所有的数据都在一行,那么在读取数据后的操作就很不方便,所以就有了将一列CSV拆成多列的需求。找了一下代码,居然没有人写这个的,所以自己写一份记录一下:

import pandas as pd
def csv_split(path):
    news_list = []
    for idx, line in enumerate(open(path, encoding='utf-8')):
        if idx == 0:
            cols = line.split('|') # 我这里分隔符是| ,请注意一般CSV文件都是,   自己替换一下就好了
        else:
            line_list = line.split('|')
            news_list.append(line_list)
    news_df = pd.DataFrame(news_list, columns=cols)
    file_name = path.split('/')[-1]
    file_name = file_name.split('.')[0]
    news_df.to_excel(f'{file_name}.xlsx')

if __name__ == '__main__':
    csv_split(path='xxx.csv') # 替换成需要修改的CSV文件路径

思路就是:

1.先读取csv文件,然后一行一行的读取,

2.将每一行数据用split方法进行分割,返回结果是一个一个的列表,一条数据就是一个列表,

3.统一存入另一个列表,形成一个新的二层列表,

4.然后用pandas的DataFrame方法,传入列表,列名,就形成了一个新的DataFrame文件,

5.最后进行保存就可以了。

值得注意的就是一般CSV分割附都是','          ,注意将程序中的'|'改成','就好了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值