[英]write csv as output instead of print
我提出了一个 API 请求并在循环中打印一个 DataFrame。
现在我想代替打印,将输出直接写入 csv。 我在网上寻找答案,但不明白。 我将不胜感激您的帮助!
这是我的循环:
for company in eic_listing:
for facility in company["facilities"]:
if "df" in facility:
print(company["name"], facility["name"])
print(
facility["df"]["status"],
facility["df"]["gasDayStartedOn"],
facility["df"]["gasInStorage"],
facility["df"]["full"],
facility["df"]["withdrawal"]
)```
循环遍历数据帧是一个糟糕的主意,性能明智。 如果你真的想那样做,你可以使用 csv 模块将输出格式化为 csv:
import csv
...
wr = csv.writer(sys.stdout) # or use a Python file object here...
for company in eic_listing:
for facility in company["facilities"]:
if "df" in facility:
wr.writerow(company["name"], facility["name"],
facility["df"]["status"],
facility["df"]["gasDayStartedOn"],
facility["df"]["gasInStorage"],
facility["df"]["full"],
facility["df"]["withdrawal"]
)
Pandas 确实有一个“to_csv”方法。 也许这会帮助你: pandas.DataFrame.to_csv
尝试将您的打印行替换为:
df.to_csv('out.csv')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.