当前位置: 首页 > 面试题库 >

使用Python将Json转换为CSV

宁锐
2023-03-14
问题内容

下面是我从在线气象站提取的json结构。我还包括一个json_to_csv python脚本,该脚本应该将json数据转换为csv输出,但仅返回“
Key”错误。我只想从“ current_observation”中提取数据。

{
  "response": {
  "features": {
  "conditions": 1
  }
    }
  , "current_observation": {
        "display_location": {
        "latitude":"40.466442",
        "longitude":"-85.362709",
        "elevation":"280.4"
        },
        "observation_time_rfc822":"Fri, 26 Jan 2018 09:40:16 -0500",
        "local_time_rfc822":"Sun, 28 Jan 2018 11:22:47 -0500",
        "local_epoch":"1517156567",
        "local_tz_short":"EST",
        "weather":"Clear",
        "temperature_string":"44.6 F (7.0 C)",
    }
}



import csv, json, sys
inputFile = open("pywu.cache.json", 'r') #open json file
outputFile = open("CurrentObs.csv", 'w') #load csv file
data = json.load(inputFile) #load json content 
inputFile.close() #close the input file
output = csv.writer(outputFile) #create a csv.write
output.writerow(data[0].keys())
for row in data:
    output = csv.writer(outputFile) #create a csv.write 
    output.writerow(data[0].keys())
for row in data:
    output.writerow(row.values()) #values row

检索温度字符串并将其转换为.csv格式的最佳方法是什么?谢谢!


问题答案:
import pandas as pd
df = pd.read_json("pywu.cache.json")
df = df.loc[["local_time_rfc822", "weather", "temperature_string"],"current_observation"].T
df.to_csv("pywu.cache.csv")

也许熊猫可以为您提供帮助。.read_json()函数创建一个不错的数据框,您可以从中轻松选择所需的行和列。它也可以另存为csv。

要将纬度和经度添加到csv行中,您可以执行以下操作:

df = pd.read_json("pywu.cache.csv")
df = df.loc[["local_time_rfc822", "weather", "temperature_string", "display_location"],"current_observation"].T
df = df.append(pd.Series([df["display_location"]["latitude"], df["display_location"]["longitude"]], index=["latitude", "longitude"]))
df = df.drop("display_location")
df.to_csv("pywu.cache.csv")

要以数字值打印位置,可以执行以下操作:

df = pd.to_numeric(df, errors="ignore")
print(df['latitude'], df['longitude'])


 类似资料:
  • 问题内容: 我在网络上看到了相当多的不费钱的XML-> JSON代码,并且与Stack的用户进行了一些互动,我坚信这一人群比Google搜索结果的前几页可以提供更多帮助。 因此,我们正在解析天气供稿,我们需要在许多网站上填充天气小部件。我们现在正在研究基于Python的解决方案。 这个公共weather.com RSS feed 是我们要解析的一个很好的例子( 由于有w / them的合作关系,我

  • 问题内容: 我正在尝试使用PHP将CSV文件转换为JSON。 这是我的代码 //我看到了所有数据 然后我尝试显示它,但是屏幕上什么都没有显示。我所看到的只是空白屏幕和0错误消息。 我做错什么了吗?有人能帮我吗 ? 的相加结果 问题答案: 尝试这样:

  • 问题内容: 我对Python中的JSON感到有些困惑。在我看来,这就像是一本字典,出于这个原因,我正在尝试这样做: 但是当我这样做时,它会给出一个错误。 如何将该字符串转换为结构,然后调用以获得“示例词汇表”? 问题答案:

  • 我有很多HTML表,我正在尝试将其转换为json格式,但我的代码只适用于第一个水平表(第一个图像),而不是第二个垂直表(第二个图像)... 我在这里附上了我的代码和示例表 到目前为止我尝试的代码 以上HTML表的输出: 表2的HTML代码 null 如果表是水平表(表1),那么旧的输出就足够了 如果表是一个垂直表(表2),那么输出应该如下所示: 我试过修改代码,但对我没有任何建议???

  • 问题内容: 我有一个要转换为CSV文件的JSON文件。如何使用Python执行此操作? 我试过了: 但是,它没有用。我正在使用Django,收到的错误是: 然后,我尝试了以下方法: 然后我得到错误: 样本json文件: 问题答案: 首先,你的JSON具有嵌套对象,因此通常无法直接将其转换为CSV。你需要将其更改为以下内容: 这是从中生成CSV的代码: 你将获得以下输出:

  • 问题内容: 我需要使用PHP在服务器上将 CSV 文件转换为 JSON 。我正在使用此脚本,该脚本有效: 该变量是由cURL请求返回的字符串,该请求返回CSV内容。 我确信这不是最有效的PHP代码,因为我是一名初学者,并且我对PHP的了解很少。 是否有更好,更有效的方法使用PHP将CSV转换为JSON? 提前致谢。 注意。 我知道我要添加空格然后将其删除,这样做是为了让我可以选择删除行以返回“可读