关于csv文件的数据的分割

在网上下载的csv数据,但是他所有的关键字全部都挤在一个格子里面,用“|”分开的,我只会使用exel把他分开,但是数据量过大,无法用exel直接操作,请问如何用python将他分开呢,然后保存为新的csv文件。

img

不需要pandas,自带的csv模块就可以

import csv

with open('old.csv',encoding='gbk') as f:
    r = csv.reader(f)
    h = next(r)[0].split('|')
    data = [i[0].split('|') for i in r]
with open('new.csv','w',newline='') as f:
    w = csv.writer(f)
    w.writerow(h)
    w.writerows(data)

“a|b|c".split("|")

['a','b','c']

没有测试数据,不大确定你的问题细节,即兴写了一段,有问题私信

import pandas as pd

datas = pd.read_csv('你的csv路径', encoding='utf8', keep_default_na=False)
title = list(datas.columns)
columns = title[0].split('|')
rows = datas[title[0]].tolist()
rows = [row.split('|') for row in rows]
res = []
for row in rows:
    newline = zip(columns, row)
    res.append(list(newline))
save = pd.DataFrame(res)
save.to_csv('保存路径')