该字符串在 Python 中不可调用

问题描述

我正在尝试将 dict 导出到 csv。我正在从 api 中提取数据并需要将其打印到 CSV。

我正在使用:

P1 = {?1,?2} and P1 = {?3,?4,?5}

我调用的 API 如下:

import datetime
import csv
import pendulum
import requests
from tabulate import tabulate
import pandas as pd
import numpy as np

获取我想要提取的数据在这里:

api_url = "https://secure-webtv-static.canal-plus.com/metadata/cpfra/all/v2.2/globalchannels.json"
response = requests.get(api_url).json()

我正在尝试使用 Pandas 将数据发送到 tv_programme = { channel["name"]: [ [ e['title'],e['subTitle'],pendulum.parse(e['timecodes'][0]['start'] ).time().strftime("%H:%M"),datetime.timedelta( milliseconds=e['timecodes'][0]['duration'],).__str__().rsplit(".")[0],] for e in channel["events"] ] for channel in response["channels"] } 文件

CSV

df = pd.DataFrame(tabulate( tv_programme["CANAL+ SPORT"],headers="firstrow"("Title","Subtitle","Time","Duration"),tablefmt="csv",)) print(tabulate( tv_programme["CANAL+ SPORT"],headers=["Title","Duration"],)) df = pd.DataFrame(sorted(list(tv_programme.headers('sports.csv')))) 收集以下数据,我需要它来填充 print 文件。

CSV

现在这是我卡住并收到错误的地方:Title Subtitle Time Duration ----------------------------------- ----------- ------ ---------- Sport Reporter Doc Sport 10:42 0:26:23 Chelsea / West Ham 14e journée 11:11 0:48:38 Cesta punta - Pro Tour 2020 Autre Sport 12:51 1:28:53 Rugby - Golden Lions / Natal Sharks 4e journée 14:20 0:45:56 Rugby - Colomiers / Perpignan 8e journée 15:55 0:50:00 Rugby - Oyonnax / Biarritz 6e journée 17:55 0:50:00 Rugby - Castres / Brive 4e journée 19:55 1:15:00

解决方法

您需要传递实际的数据结构,而不是由 tabulate 构建的字符串。

例如:

df = pd.DataFrame(tv_programme["CANAL+"],columns=["Title","Subtitle","Time","Duration"])
df.to_csv("canal_plus.csv",index=False)

这给你:

enter image description here

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...