【发布时间】:2019-06-27 16:36:30
【问题描述】:
我正在做一些练习,作为我通过 Git 单独进行的 GIS 和 Python 课程的一部分。练习是分析来自两个气象站的气象数据。他们的 ID 拼写为 USAF,代码为:29980 和 28450。我从现有的数据框中创建了一个“选定”数据框,我需要将所有行选择到一个名为 kumpula 的变量中,其中 USAF 代码为 29980 和一个美国空军代码为 28450 的变量 Rovaniemi。
我已经这样做了:
kumpula = selected.loc[selected['USAF']==29980]
rovaniemi = selected.loc[selected['USAF']==28450]
这很好。现在,我需要将 kumpula 和 rovaniemi DataFrame 保存到“Kumpula_temps_May_Aug_2017.csv”和“Rovaniemi_temps_May_Aug_2017.csv”中。我还需要用逗号分隔并在浮点数中仅使用 2 位小数。
这是我的代码:
kumpula = "Kumpula_temps_May_Aug_2017.csv"
selected.to_csv(kumpula, sep=',', float_format="%2f")
rovaniemi = "Rovaniemi_temps_May_Aug_2017.csv"
selected.to_csv(rovaniemi, sep=',', float_format="%2f")
这段代码应该可以工作。但是,这两个文件是相同的。它们用于罗瓦涅米,例如,美国空军代码是 28450。我是否以某种方式覆盖了“Kumpula_temps_May_Aug_2017.csv”。
【问题讨论】:
-
你写了两次相同的
selected- 也许你应该保存kumpula.to_csv()和rovaniemi.to_csv()但不要将文件名分配给变量kumpula和rovaniemi- 直接在to_csv()或为文件名使用不同的变量。 -
当我尝试直接保存时,它给了我一个错误: ----------------------------- ---------------------------------- AttributeError Traceback(大多数最近通话最后)
in 3 selected.to_csv(kumpula, sep=',', float_format="%2f") 4 rovaniemi = "Rovaniemi_temps_May_Aug_2017.csv" ----> 5 rovaniemi.to_csv(rovaniemi, sep=',', float_format="%2f") AttributeError: 'str' object has no attribute 'to_csv -
正如我所说 - 不要将文件名分配给
kumpula和rovaniemi因为有你的数据框 - 所以你删除数据框并且你只有带有文件名的字符串。你必须使用kumpula.to_csv("Kumpula_temps_May_Aug_2017.csv", ... ) -
如果你在每一行代码之后使用
print()来显示变量中的值,你会发现问题。 -
谢谢。现在解决了。我现在才意识到你在说什么。
标签: python pandas csv export-to-csv