提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
一维列表(数组)和二维列表(数组)存入csv/excel/txt文件的方法,其实大同小异。只需要稍微修改一下就可以。
一、多个一维列表存入csv/txt文件
定义存储数据的函数,此时data是字典格式的,方便下次直接调用。
def Save_to_Csv(data, file_name, Save_format = 'csv', Save_type = 'col'):
# data
# 输入为一个字典,格式: { '列名称': 数据,....}
# 列名即为CSV中数据对应的列名, 数据为一个列表
# file_name 存储文件的名字
# Save_format 为存储类型, 默认csv格式, 可改为 excel
# Save_type 存储类型 默认按列存储, 否则按行存储
# 默认存储在当前路径下,可根据自己需要进行更改
Name = []
times = 0
if Save_type == 'col':
for name, List in data.items():
Name.append(name)
if times == 0:
Data = np.array(List).reshape(-1,1)
else:
Data = np.hstack((Data, np.array(List).reshape(-1,1)))
times += 1
Pd_data = pd.DataFrame(columns=Name, data=Data)
else:
for name, List in data.items():
Name.append(name)
if times == 0:
Data = np.array(List)
else:
Data = np.vstack((Data, np.array(List)))
times += 1
Pd_data = pd.DataFrame(index=Name, data=Data)
if Save_format == 'csv':
Pd_data.to_csv('./'+ file_name +'.csv',encoding='utf-8')
else:
Pd_data.to_excel('./'+ file_name +'.xls',encoding='utf-8')
a = [1,2,3]
b = [3,4,5]
c = [6,7,8]
number = {'a':a,'b':b, 'c':c}
Save_to_Csv(data = number, file_name = 'example', Save_format = 'csv',Save_type = 'col')
存入的数据不想显示列名:
csvfile=open(r'D:\example.csv',"w",newline="")
writer=csv.writer(csvfile)
writer.writerows(zip(a,b,c))
csvfile.close()
利用pandas库
代码如下(示例):
import pandas as pd
import numpy as np
a = np.array(1,2,3)
b = np.array(3,4,5)
c = np.array(6,7,8)
data = pd.DataFrame({'a':a, 'b':b,'c':c})
data.to_csv('./example.csv',index=None)
在原有的文件上再添加列:
import pandas as pd
import numpy as np
f = pd.read_csv('./example.csv',sep=',',header=None)
d = np.array(2,3,4)
e = np.array(4,5,6)
f['d'] = d
f['e'] = e
f.to_csv('./example.csv', index = False)
注意:当在原有文件的基础上添加列时,不需要使用dataframe,否则会把原始数据覆盖掉。
总结
本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
版权归原作者 痴儿CE 所有, 如有侵权,请联系我们删除。