背景:
在制作知识图谱的过程中,我们经常会遇到一个很复杂的csv文件,这个时候就需要我们先将每列的数据单独获取另存为一个新的csv文件,方便我们制作知识图谱的节点
具体步骤:
pandas读取csv文件操作
import pandas as pd
path = 'xxx.csv'
data = pd.read_csv(path, encoding='utf-8')
如果csv文件列表头没有命名,只是如
,,,
我们可以先命名列表头再读取:
import pandas as pd
path = 'xxx.csv'
cols_name = ['a','b','c','d']
data = pd.read_csv(path, encoding='utf-8', names=cols_name, header=None)
注意cols_name列表长度应和csv文件列数一致
现在我想将第三列单独存入一个新的csv文件中
import pandas as pd
store_path = 'c.csv'
c = pd.DataFrame(data[['c']], columns=['c'])
c.to_csv('c.csv')
这样我们就完成了单独存储某一列的操作
将所有列都单独存储
import pandas as pd
path = 'xxx.csv'
cols_name = ['a','b','c','d']
data = pd.read_csv(path, encoding='utf-8', names=cols_name, header=None)
for s in cols_name:
store_path = f'{s}.csv'
tmp = pd.DataFrame(data[[f'{s}']], columns=['s'])
tmp.to_csv(store_path)