searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

将数据库中的数据分别写入csv文件和json文件

2024-11-13 09:32:03
1
0

在现代数据处理和分析中,将数据从数据库导出到不同的文件格式是一项常见任务。这些文件格式各有优势,例如CSV文件易于在电子表格软件中查看和编辑,而JSON文件则非常适合于Web开发和数据交换。本示例代码将展示如何将数据库中的数据分别导出到CSV文件和JSON文件。通过这个过程,你可以根据具体需求选择合适的数据存储格式,以便进行后续的数据处理和分析。接下来,让我们看看具体的代码实现。

 

 

from mysql import connector
import csv,json
con=connector.connect(user='root',password='password',database='ip_messages')
cur=con.cursor()
cur.execute('select * from ip_messages_table')
mysql_result=cur.fetchall()
field_names=[i[0] for i in cur.description]
cur.close()
con.close()
 
with open('mysql_result.csv','w',newline='') as f:# 打开csv文件并写入时应使用 newline=''。newline=''使得写入后的csv文件中没有空行
    writer=csv.writer(f)# csv.writer(csvfile, dialect='excel', **fmtparams),Return a writer object responsible for converting the user's data into delimited strings on the given file-like object. csvfile can be any object with a write() method. 
    writer.writerow(field_names)# csvwriter.writerow(row),Write the row parameter to the writer's file object. row is arbitrary iterables.
    for row in mysql_result:
        writer.writerow(row)
 
with open('ip_messages.json','wb') as f:
    f.write('[\n'.encode('utf-8'))
    for row in mysql_result:
        data_dict={}
        for i in range(len(field_names)):
            data_dict[field_names[i]]=row[i]
        text=json.dumps(data_dict,ensure_ascii=False)+',\n'# 不加红字部分,json文件显示中文的ascii编码。json.dumps 序列化时对中文默认使用ascii编码,输出真正的中文需要指定ensure_ascii=False
        f.write(text.encode('utf-8'))
    f.seek(-2,2)
    f.write('\n]'.encode('utf-8'))
0条评论
作者已关闭评论
张****旸
2文章数
0粉丝数
张****旸
2 文章 | 0 粉丝
张****旸
2文章数
0粉丝数
张****旸
2 文章 | 0 粉丝
原创

将数据库中的数据分别写入csv文件和json文件

2024-11-13 09:32:03
1
0

在现代数据处理和分析中,将数据从数据库导出到不同的文件格式是一项常见任务。这些文件格式各有优势,例如CSV文件易于在电子表格软件中查看和编辑,而JSON文件则非常适合于Web开发和数据交换。本示例代码将展示如何将数据库中的数据分别导出到CSV文件和JSON文件。通过这个过程,你可以根据具体需求选择合适的数据存储格式,以便进行后续的数据处理和分析。接下来,让我们看看具体的代码实现。

 

 

from mysql import connector
import csv,json
con=connector.connect(user='root',password='password',database='ip_messages')
cur=con.cursor()
cur.execute('select * from ip_messages_table')
mysql_result=cur.fetchall()
field_names=[i[0] for i in cur.description]
cur.close()
con.close()
 
with open('mysql_result.csv','w',newline='') as f:# 打开csv文件并写入时应使用 newline=''。newline=''使得写入后的csv文件中没有空行
    writer=csv.writer(f)# csv.writer(csvfile, dialect='excel', **fmtparams),Return a writer object responsible for converting the user's data into delimited strings on the given file-like object. csvfile can be any object with a write() method. 
    writer.writerow(field_names)# csvwriter.writerow(row),Write the row parameter to the writer's file object. row is arbitrary iterables.
    for row in mysql_result:
        writer.writerow(row)
 
with open('ip_messages.json','wb') as f:
    f.write('[\n'.encode('utf-8'))
    for row in mysql_result:
        data_dict={}
        for i in range(len(field_names)):
            data_dict[field_names[i]]=row[i]
        text=json.dumps(data_dict,ensure_ascii=False)+',\n'# 不加红字部分,json文件显示中文的ascii编码。json.dumps 序列化时对中文默认使用ascii编码,输出真正的中文需要指定ensure_ascii=False
        f.write(text.encode('utf-8'))
    f.seek(-2,2)
    f.write('\n]'.encode('utf-8'))
文章来自个人专栏
软件工具
2 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0