数据存储的正确规范:csv/xlsx和JSON全方位解析

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: 数据存储的正确规范:csv/xlsx和JSON全方位解析


🔸 CSV/XLSX Python对接库环境搭建

在Python中,我们通常使用pandas库来处理CSV/XLSX文件。首先,安装pandasopenpyxl(用于处理XLSX文件):

pip install pandas openpyxl

🔹 安装完成后,我们就可以开始使用这些库来读取和写入CSV/XLSX文件了。


🔸 文档写入格式规范

我们需要注意CSV/XLSX文件的写入格式,确保数据的完整性和可读性。

写入CSV文件
import pandas as pd
data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)
df.to_csv('output.csv', index=False, encoding='utf-8')
写入XLSX文件
df.to_excel('output.xlsx', index=False, encoding='utf-8')

🔹 这里,我们使用pandas库将数据写入CSV和XLSX文件,并指定了编码格式。


🔸 嵌套列表以及字典格式写入

处理复杂数据结构(如嵌套列表和字典)时,可以将数据转换为适合存储的格式。

写入嵌套列表数据
nested_list = [
    ['Alice', 25, 'New York'],
    ['Bob', 30, 'Los Angeles'],
    ['Charlie', 35, 'Chicago']
]
df = pd.DataFrame(nested_list, columns=['Name', 'Age', 'City'])
df.to_csv('nested_output.csv', index=False, encoding='utf-8')
写入字典数据
nested_dict = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Details': [
        {'Age': 25, 'City': 'New York'},
        {'Age': 30, 'City': 'Los Angeles'},
        {'Age': 35, 'City': 'Chicago'}
    ]
}
df = pd.json_normalize(nested_dict, 'Details', ['Name'])
df.to_csv('dict_output.csv', index=False, encoding='utf-8')

🔹 在这两个示例中,我们分别展示了如何将嵌套列表和字典数据写入CSV文件。


🔸 对接文档实战

接下来,我们将展示一个完整的爬虫示例,并将爬取到的数据写入CSV/XLSX文件。

import requests
from bs4 import BeautifulSoup
import pandas as pd
# 爬取网页数据
url = 'http://example.com/articles'
response = requests.get(url)
html_content = response.content
soup = BeautifulSoup(html_content, 'html.parser')
# 解析数据
articles = soup.find_all('div', class_='article')
data = []
for article in articles:
    title = article.find('h1').text
    author = article.find('span', class_='author').text
    content = article.find('p', class_='content').text
    url = article.find('a')['href']
    
    data.append([title, author, content, url])
# 将数据写入CSV文件
df = pd.DataFrame(data, columns=['Title', 'Author', 'Content', 'URL'])
df.to_csv('articles.csv', index=False, encoding='utf-8')
# 将数据写入XLSX文件
df.to_excel('articles.xlsx', index=False, encoding='utf-8')

🔹 通过这个示例,我们展示了如何将爬虫数据存储到CSV和XLSX文件中。


🔸 JSON对象和数组

JSON是一种常见的数据交换格式,在Python中我们使用json库来处理JSON数据。

JSON对象和数组示例
import json
data = {
    'Name': 'Alice',
    'Age': 25,
    'City': 'New York',
    'Skills': ['Python', 'Data Analysis', 'Machine Learning']
}
json_str = json.dumps(data, indent=4)
print(json_str)

🔹 这里我们将一个字典对象转换为JSON字符串,并使用缩进格式化输出。


🔸 JSON写入规范

将JSON数据写入文件时,确保数据的规范性和易读性。

写入JSON文件
with open('data.json', 'w', encoding='utf-8') as f:
    json.dump(data, f, ensure_ascii=False, indent=4)

🔹 使用json.dump方法将数据写入JSON文件,并设置ensure_ascii=False以支持非ASCII字符。


🔸 JSON数据编码

处理JSON数据时,可能需要对数据进行编码和解码。

JSON编码示例
encoded_data = json.dumps(data, ensure_ascii=False)
print(encoded_data)
JSON解码示例
decoded_data = json.loads(encoded_data)
print(decoded_data)

🔹 通过json.dumpsjson.loads方法,可以方便地对JSON数据进行编码和解码。


🔸 总结

🔹 在本次学习中,我们掌握了如何在Windows和Linux系统下配置CSV/XLSX和JSON环境,了解了数据写入的格式规范,学习了嵌套列表和字典数据的处理方法,并通过实战示例展示了爬虫数据的存储。此外,还学习了JSON对象和数组的处理、写入规范以及数据编码方法。

目录
相关文章
|
1月前
|
人工智能 自然语言处理 前端开发
SpringBoot + 通义千问 + 自定义React组件:支持EventStream数据解析的技术实践
【10月更文挑战第7天】在现代Web开发中,集成多种技术栈以实现复杂的功能需求已成为常态。本文将详细介绍如何使用SpringBoot作为后端框架,结合阿里巴巴的通义千问(一个强大的自然语言处理服务),并通过自定义React组件来支持服务器发送事件(SSE, Server-Sent Events)的EventStream数据解析。这一组合不仅能够实现高效的实时通信,还能利用AI技术提升用户体验。
162 2
|
1月前
|
SQL 存储 JSON
SQL,解析 json
SQL,解析 json
66 8
|
1月前
|
XML 数据格式 开发者
解析数据的Beautiful Soup 模块(一)
解析数据的Beautiful Soup 模块(一)
|
21天前
|
自然语言处理 数据可视化 前端开发
从数据提取到管理:合合信息的智能文档处理全方位解析【合合信息智能文档处理百宝箱】
合合信息的智能文档处理“百宝箱”涵盖文档解析、向量化模型、测评工具等,解决了复杂文档解析、大模型问答幻觉、文档解析效果评估、知识库搭建、多语言文档翻译等问题。通过可视化解析工具 TextIn ParseX、向量化模型 acge-embedding 和文档解析测评工具 markdown_tester,百宝箱提升了文档处理的效率和精确度,适用于多种文档格式和语言环境,助力企业实现高效的信息管理和业务支持。
3965 5
从数据提取到管理:合合信息的智能文档处理全方位解析【合合信息智能文档处理百宝箱】
|
11天前
|
存储 分布式计算 Java
存算分离与计算向数据移动:深度解析与Java实现
【11月更文挑战第10天】随着大数据时代的到来,数据量的激增给传统的数据处理架构带来了巨大的挑战。传统的“存算一体”架构,即计算资源与存储资源紧密耦合,在处理海量数据时逐渐显露出其局限性。为了应对这些挑战,存算分离(Disaggregated Storage and Compute Architecture)和计算向数据移动(Compute Moves to Data)两种架构应运而生,成为大数据处理领域的热门技术。
32 2
|
17天前
|
JavaScript API 开发工具
<大厂实战场景> ~ Flutter&鸿蒙next 解析后端返回的 HTML 数据详解
本文介绍了如何在 Flutter 中解析后端返回的 HTML 数据。首先解释了 HTML 解析的概念,然后详细介绍了使用 `http` 和 `html` 库的步骤,包括添加依赖、获取 HTML 数据、解析 HTML 内容和在 Flutter UI 中显示解析结果。通过具体的代码示例,展示了如何从 URL 获取 HTML 并提取特定信息,如链接列表。希望本文能帮助你在 Flutter 应用中更好地处理 HTML 数据。
99 1
|
1月前
|
数据采集 XML 前端开发
Jsoup在Java中:解析京东网站数据
Jsoup在Java中:解析京东网站数据
|
17天前
|
JSON 前端开发 JavaScript
API接口商品详情接口数据解析
商品详情接口通常用于提供特定商品的详细信息,这些信息比商品列表接口中的信息更加详细和全面。以下是一个示例的JSON数据格式,用于表示一个商品详情API接口的响应。这个示例假定API返回一个包含商品详细信息的对象。
|
2月前
|
消息中间件 canal 关系型数据库
Maxwell:binlog 解析器,轻松同步 MySQL 数据
Maxwell:binlog 解析器,轻松同步 MySQL 数据
301 11
|
1月前
|
前端开发 Python
解析数据的Beautiful Soup 模块(二)
解析数据的Beautiful Soup 模块(二)

推荐镜像

更多