问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

python3存储数据到csv

发布网友 发布时间:2022-04-20 07:19

我来回答

3个回答

懂视网 时间:2022-04-10 19:02

数据的保存

import pandas as pd
import numpy as np
from pandas import Series

col_db = [[‘one‘,1,2,3,4,np.nan],[‘two‘,5,6,8,‘world‘,np.nan],[‘three‘,9,10,11,12,‘foo‘]]
data = pd.DataFrame(col_db,columns = [‘somthing‘,‘a‘,‘b‘,‘c‘,‘d‘,‘message‘])
data

 somthing a b c d message
0 one 1 2 3 4 NaN
1 two 5 6 8 world NaN
2 three 9 10 11 12 foo

# 利用DataFrame的to_csv方法,csv默认为逗号分隔
data.to_csv(‘save.csv‘)
# 指定分隔符
data.to_csv(‘save_.csv‘,sep=‘|‘)
# 缺失值在输出结果中会被表示为空字符串,你可以指定
data.to_csv(‘save_1.csv‘,na_rep=‘NULL‘)
# 禁用行和列的标签,只保留数据
data.to_csv(‘save_2.csv‘,header=False,index=False)
# 输出指定的列,并以指定的顺序排列
data.to_csv(‘save_2.csv‘,index=False,columns=[‘a‘,‘b‘,‘c‘])
# Series也有一个to_csv方法,from_csv可以直接读取csv
Series.from_csv(‘save_2.csv‘)

a b
1 2
5 6
9 10
dtype: object

手工处理分隔符格式

大部分的表格型数据都能用pd.read_table进行加载,但是由于含有畸形行的文件而使read_table出毛病的情况并不少见
例如如下的格式文件:

a, b, c d
1, 2, 3
1, 2, 3, 4
import csv
# 直接使用pd.read_csv会报错,这里需要引入csv模块,进行处理
f = open(‘save_2.csv‘)
# 将已打开的文件型对象传给csv.reader
reader = csv.reader(f)
for line in reader:
 print(line,type(line))

[‘a‘, ‘b‘, ‘c‘] <class ‘list‘>
[‘1‘, ‘2‘, ‘3‘] <class ‘list‘>
[‘5‘, ‘6‘, ‘8‘, ‘10‘] <class ‘list‘>

# 整理这个reader
lines = list(csv.reader(open(‘save_2.csv‘)))
lines

[[‘a‘, ‘b‘, ‘c‘], [‘1‘, ‘2‘, ‘3‘], [‘5‘, ‘6‘, ‘8‘, ‘10‘]]

header, values = lines[0], lines[1:]
# 压缩为元组,再把值恢复矩阵
p = zip(header, zip(*values))
for i in p:
 print(i)

(‘a‘, (‘1‘, ‘5‘))
(‘b‘, (‘2‘, ‘6‘))
(‘c‘, (‘3‘, ‘8‘))

# 字典推导式
{h:v for h,v in zip(header, zip(*values))}

{‘a‘: (‘1‘, ‘5‘), ‘b‘: (‘2‘, ‘6‘), ‘c‘: (‘3‘, ‘8‘)}

# 手工输出分隔符文件,可以使用csv.writer
# w模式会覆盖并重新生成
with open(‘save_2.csv‘,‘w‘) as f:
 writer = csv.writer(f)
 writer.writerow((‘new_1‘,‘new_2‘))

JSON数据

如何将JSON对象转为DataFrame或其他便于分析的数据结构


import json
obj = ‘‘‘
{
"name":"wes",
"places_lived":["United Statues","Spain","Germany"],
"pet": null,
"siblings":[{"name":"Scott","age":25,"pet":"Zuko"},
 {"name":"Katie","age":33,"pet":"Cisco"}]
}
‘‘‘
# 选取一部分符合dataFrame格式的
result = json.loads(obj)
pd.DataFrame(result[‘siblings‘])

 age name pet
0 25 Scott Zuko
1 33 Katie Cisco

使用数据库

# 导入内置的SQLite数据库
import sqlite3
query = ‘‘‘
CREATE TABLE test
(
a VARCHAR(20),
b VARCHAR(20),
c REAL,
d INT
);
‘‘‘

# 直接在内存中创建
con = sqlite3.connect(‘:memory:‘)
con.execute(query)
con.commit()

# 插入几行数据
data = [(‘Atlanta‘,‘Georgia‘,1.25,6),
 (‘Tallahassee‘,‘Florida‘,2.6,3),
 (‘Sacramento‘,‘California‘,1.7,5)
 ]
stmt = ‘INSERT INTO test VALUES(?,?,?,?)‘
con.executemany(stmt,data)
con.commit()

# 从表中选取数据
cursor = con.execute(‘select * from test‘)
rows = cursor.fetchall()
rows

[(‘Atlanta‘, ‘Georgia‘, 1.25, 6),
 (‘Tallahassee‘, ‘Florida‘, 2.6, 3),
 (‘Sacramento‘, ‘California‘, 1.7, 5)]

 #取出列表名
cursor.description
((‘a‘, None, None, None, None, None, None),
 (‘b‘, None, None, None, None, None, None),
 (‘c‘, None, None, None, None, None, None),
 (‘d‘, None, None, None, None, None, None))

 # zip(*)返回矩阵,与zip作用相反
k = zip(*cursor.description)
# for i in k:
# print(i)
# 直接使用k[0]会报错,zip对象不支持‘zip‘ object is not subscriptable,需要借助list包装
list(k)[0]

(‘a‘, ‘b‘, ‘c‘, ‘d‘)

pd.DataFrame(rows,columns=list(zip(*cursor.description))[0])

 a b c d
0 Atlanta Georgia 1.25 6
1 Tallahassee Florida 2.60 3
2 Sacramento California 1.70 5
pandas有一个可以简化上面过程的read_sql函数,只需要传入select语句链接对象即可
import pandas.io.sql as sql
sql.read_sql(‘select * from test‘,con)

 a b c d
0 Atlanta Georgia 1.25 6
1 Tallahassee Florida 2.60 3
2 Sacramento California 1.70 5

# pandas链接mysql同理
import pymysql

conn = pymysql.connect(host=‘127.0.0.1‘,port=3306,user=‘root‘,passwd=‘123456‘,db=‘taobao‘,charset=‘utf8‘)
sql.read_sql(‘select * from tblive2‘,conn)
存取MongoDB中的数据
import pymongo

# 创建链接对象
con2 = pymongo.MongoClient(‘localhost‘,port=27017)

# 链接数据库
db = con2.wechat_spider

# 使用posts集合(这是我电脑里的)
find_list = db.posts.find()
# 这里由于不能直接传入迭代对象,需要借助list
pd.DataFrame(list(find_list))

Pandas操作数据库及保存csv

标签:迭代   ODB   函数   1.7   包装   header   电脑   空字符串   1.2   

热心网友 时间:2022-04-10 16:10

我的思路是用pandas处理:

import pandas as pd


保存的csv是这样的:

希望可以帮到你。

热心网友 时间:2022-04-10 17:28

既然每组字段都一样,不如建个数据库
python怎么读取和写入csv文件

python读取csv文件第一步输入“importcsvreader=csv.reader(open('d://2.csv'))forlistinreader:print(list)”代码,读取d盘的2.csv文件,如下图所示:第二步运行py文件,可以看到读取了csv文件内容,...

python怎么样把学生信息管理系统的信息保存到csv中?

1.创建文件对象f=open('D:/AAA.csv','w',encoding='utf-8',newline="")2.基于文件对象构建csv写入对象csv_writer=csv.writer(f)3.构建列表头csv_writer.writerow(["姓名","年龄","性

python怎么样把学生信息管理系统的信息保存到csv中?

filename='D:/AAA.csv'f=open(filename,'w',encoding='utf-8',newline="")2.构建csv写入对象csv_writer=csv.writer(f)3.写入文件头csv_writer.writerow(["姓名","年龄",&quo

方法示例Python如何把字典写入到CSV文件的

首先我们建立了一个函数,专门写入CSV文件的这样一个函数defcsv_writer():这里我们首先把我们这份数据的键(表头)给取出来,这里我们用到了一个遍历算法,那么有的小伙伴就疑问了,为什么我不手动加入,写入啊,也就几行...

python怎么将数据存到csv文件

有两种途径:1、csv文件本质上也是文件文件,可以按照文件文件来进行读写操作2、python自带csv模块,可以importcsv来通过csv.write模块来写文件

利用Python如何将数据写到CSV文件中

这样就构成了一个csv文件(csv使用分隔符分割值的文件)操作方法如下:1,使用读写追加的方式打开csv文件。2,找到csv文件的结尾。3,在结尾使用和之前csv使用的分割相同的格式进行数据添加。4,关闭文件...

怎么将Python的运行结果导出为csv格式?

兄弟,python下面自带了csv模块,直接import调用就行了将内存中的数据写入到csv文件的话,直接open一个新文件,用csv下的writer方法就可以将数据写入到csv本地文件

python数据按列写入csv

还有如下方式:column1,column2为文件头data1,data2为每列的数据

用python把list里的数据写入csv

(u'appleiOS',u'appleiOS',u'$900'),(u'excellent',u'6Plus',u'$550'),(u'likenew',u'appleiOS',u'$279'),(u'likenew',u'4&#

如何用python将九九乘法表写入csv文件中?

csv文件,命令是:rmtest.csv然后执行脚本,命令是:pythoncsv_scripts.py在查看执行后的结果,可以看到,数据就排列的相对整齐了。以上就是python将数据写入到csv的全部内容。请点击输入图片描述请点击输入图片描述...

python导出数据到csvpython数据保存为csv文件python处理csv数据python读取csv数据python数据清洗csvpython将数据写入csv文件python保存为csvpython处理excel数据python处理数据
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
糯米粥如何做南瓜糯米粥的做法 相思癌症晚期科学解释 拜亚,铁三角,森海该入哪款呢?5 拜亚动力哪款耳机适合听摇滚1 耳机耐听度,AKG,森海,拜亚,哪个相对耐 求解南京AKG、森海、UE、舒尔、拜亚、天龙、Monster...6 小女平时听摇滚电子氛围,舒尔se315和森海cx985哪个更...1 ...家找三舅说四舅被五舅骗去六舅家偷七舅放在八舅柜 ...说四舅被五舅骗去六舅家偷七舅放在八舅柜子里九舅借十舅发给十一舅... 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 蓝柱石的介绍 python将爬取到的数据存储该怎么操作 (十三)蓝柱石 python中的pickle模块储存数据,和print储存有什么... python中,列表在内存中存储数据,由于列表是没有... numpy如何一行一行的存储数组 天猫超市人工客服电话收费吗 请问天猫超市客服是多少? 天猫超市 漏发货 但是客服处理太慢了,我该找谁呢? 淘宝商家投诉电话号码是多少 淘宝卖家投诉电话多少 天猫超市同意退货之后又反悔怎么投诉 淘宝投诉商家的电话是多少? 我想知道要怎么投诉天猫超市? 怎么投诉天猫国际进口超市 12315投诉天猫超市写哪个名称? 怎么举报天猫超市? 天猫超市打12315管用吗 天猫超市打12315管用吗? “gpt”是什么意思? 谈到成长和改变,我们能从《宝石之国》学会什么? Python 之excel文本数据存储到mysql数据库中 蓝宝石 怎么分类 以前人们认为五颜六色的宝石是由什么组成的? 看腿就能看出是哪一部动漫你能列出多少个? 所有宝石的英文 名将三国蓝色宝石孔上什么属性的宝石,职业是天翔... (二)内生矿床 宝石宠物1中,总共有多少只宝石宠物,分别叫什么,... 什么是天蓝色至海水蓝色的绿柱宝石 所有宝石宠物和他们的资料 矽卡岩矿床形成阶段和矿物组合 谁有关于宝石的英语文章 幼儿教师述职从德、识、技、能、责五方面内容写,... 第一季宝石宠物各是什么宝石 宝石宠物的基本资料 口袋妖怪蓝宝石卡依市的灯塔有什么用,还有阿田市... 师德的六个主要内容是? 师德包括哪些内容 所有宝石的英文?