python拉取excel数据后放在list里面存储
时间: 2023-10-10 10:10:58 浏览: 137
可以使用Python中的pandas库来读取Excel文件中的数据,并将数据存储到list中。具体代码如下:
```python
import pandas as pd
# 读取Excel文件
df = pd.read_excel('data.xlsx')
# 将数据存储到list中
data = df.values.tolist()
```
其中,`data.xlsx`是要读取的Excel文件名,`df`是读取到的Excel文件中的所有数据(以DataFrame的形式存储),`data`是将DataFrame转换成list类型的结果。
需要注意的是,如果Excel文件中存在多个工作表(Sheet),需要使用`pd.read_excel('data.xlsx', sheet_name='Sheet1')`的方式指定要读取的工作表。
相关问题
### 关于 alist 文件管理器 alist 是一款基于 Aria2 的跨平台文件管理器,支持多种存储方式(如本地磁盘、OneDrive、Google Drive 等),并提供了一个简洁易用的 Web 界面。其核心功能在于通过统一接口访问不同云存储服务中的文件资源。 #### 安装与部署 可以通过 Docker 或手动安装的方式运行 alist。以下是使用 Docker 部署的方法: ```bash docker pull xhofe/alist docker run -d --name alist -p 5244:5244 xhofe/alist ``` 此命令会启动一个容器并将端口映射到主机上的 ` 5244`。 #### 主要特性 - 支持多账户登录。 - 提供 RESTful API 接口以便开发者集成其他应用。 - 可配置多种类型的驱动程序来连接不同的云端服务商。 --- ### Python 中的 alist 列表处理 如果提到的是 Python 内置数据结构 `list` 和相关操作方法,则需注意以下几点: #### 数据验证错误分析 从给定的信息来看,在尝试向 Excel 工作表追加数据时遇到了类型不匹配的问题。具体来说,`ws.append()` 方法期望接收诸如列表 (`list`)、元组 (`tuple`) 这样的序列化输入形式,而实际传递进去的内容却是一个字符串实例 `<class 'str'>`。 为了修复这个问题,应该确保每次调用该函数前都将目标变量转换为目标格式。例如假设原始数据为纯文本串 `"example"` ,那么可以先将其分割再传入如下所示: ```python data = ["example"] # 将单个字符串包裹在一个新的列表里 ws.append(data) ``` 另外还有一种情况涉及嵌套集合的情况下的展平逻辑。比如当存在二维数组 `[["a","b"],["c"]]` 而我们只希望得到一维的结果集即 `['a', 'b', 'c']` 。此时就可以借助前面提及过的内置工具——`zip(*)` 来实现反向组合效果: ```python flattened_list = [item for sublist in original_nested_list for item in sublist] print(flattened_list) # 输出 ['a', 'b', 'c'] ``` 以上就是针对所提疑问的一些解答方向以及关联知识点扩展介绍。
### alist 文件管理器的 Docker 部署方法
alist 是一种轻量级的文件管理工具,支持多种存储后端。对于其 Docker 部署流程,可以按照以下方式进行设置:
#### 准备阶段
在正式部署之前,需要确保系统已正确安装 Docker 环境。如果尚未安装或存在旧版本冲突,可参考清理命令卸载已有组件:
```bash
sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
```
此步骤用于移除可能干扰新版本安装的老版软件包[^1]。
#### 创建并运行容器
完成环境准备后,可通过官方镜像快速拉取最新版本的 alist 并启动服务:
```bash
docker pull xhofe/alist
docker run -d --name=alist -p 5244:5244 xhofe/alist
```
上述脚本指定将宿主机的 `5244` 端口映射至容器内部监听地址,从而允许外部访问 Web UI 界面[^4]。
---
### Python 中 list 数据结构的操作与常见错误处理
Python 的 `list` 类型是一种灵活的数据容器,适用于各种场景下的数据存储与操作。然而,在实际编程过程中可能会遇到若干典型问题,下面列举了一些重要概念及相关解决方案。
#### 基础操作示例
- **初始化列表**
```python
my_list = [1, 2, 3]
```
- **追加元素**
```python
my_list.append(4) # 结果为 [1, 2, 3, 4]
```
- **插入特定位置**
```python
my_list.insert(1, 'a') # 插入字符'a'到索引1处,结果为 [1, 'a', 2, 3, 4]
```
- **删除元素**
```python
del my_list[0] # 删除第一个元素,剩余 ['a', 2, 3, 4]
```
#### 错误案例解析
假设用户试图利用 `append` 方法直接添加一组数值而非单一对象时容易引发误解。例如:
```python
ws.append('example')
```
此处传参类型不符预期,因为 `append` 默认接受单个值而不是预设格式化的子序列。因此应调整如下:
```python
ws.append(['example']) # 显式声明作为列表成员加入
```
此外,当面对深层嵌套结构时,简单的线性化策略显得尤为重要。采用列表推导式配合循环机制能够有效解决此类难题:
```python
original_nested_list = [["a", "b"], ["c"]]
flattened_list = [item for sublist in original_nested_list for item in sublist]
print(flattened_list) # 输出 ['a', 'b', 'c']
```
以上技巧不仅提升了代码可读性,同时也减少了潜在异常发生的概率[^3]。
---
### 总结
无论是通过 Docker 方便快捷地搭建 alist 文件管理系统还是深入理解 Python 编程语言中的基础数据类型运用细节,都体现了现代软件工程实践中自动化运维与高效算法设计的重要性。
将QQ音乐的歌单导出到excel
### 如何将QQ音乐播放列表导出为Excel格式
为了实现这一目标,操作可以分为几个部分来完成。首先,要获取QQ音乐上特定歌单的数据并不是通过简单的HTML解析能够达成的,因为所需信息被隐藏在其他文件之下[^1]。对于这类情况,通常的做法是从网络请求中的XHR寻找实际加载数据的URL,并利用该链接以JSON的形式抓取数据。
一旦获得了歌曲列表的相关信息作为结构化的JSON对象之后,下一步就是处理这些数据并将之转换成适合存入Excel文档的格式。Python提供了一个强大的库`pandas`用于数据的操作和分析,同时也支持轻松地把DataFrame写入Excel文件中。
下面是具体的代码示例:
```python
import requests
import pandas as pd
def fetch_playlist_songs(playlist_id):
url = f"https://c.y.qq.com/qzone/fcg-bin/fcg_ucc_getcdinfo_byids_cp.fcg?type=1&json=3&utf8=1&onlysong=0&disstid={playlist_id}&format=json"
response = requests.get(url)
data = response.json()
songs_list = []
try:
song_info = data['cdlist'][0]['songlist']
for item in song_info:
title = item["name"]
singer = "/".join([s["name"] for s in item["singer"]])
album_name = item["album"]["name"]
songs_list.append({
"Title": title,
"Singer": singer,
"Album Name": album_name
})
except KeyError as e:
print(f"Error occurred while parsing JSON: {e}")
return songs_list
def save_to_excel(songs_data, file_path="qq_music_playlist.xlsx"):
df = pd.DataFrame(songs_data)
writer = pd.ExcelWriter(file_path, engine='xlsxwriter')
df.to_excel(writer, sheet_name='Songs', index=False)
writer.close()
if __name__ == "__main__":
playlist_id = input("请输入QQ音乐歌单ID:")
songs_data = fetch_playlist_songs(playlist_id)
if songs_data:
save_to_excel(songs_data)
print("成功保存至Excel!")
```
这段脚本会提示用户提供一个QQ音乐歌单ID,接着尝试从API接口处拉取对应的歌曲详情并最终存储在一个名为`qq_music_playlist.xlsx`的新创建的工作簿里。
阅读全文
相关推荐















