我是 pandas 的新手,所以希望这是一个简单的解决方法。我正在尝试创建一个仅包含 df.loc[] 中调用的列的 csv 文件。我的 csv 文件当前显示所有可用的行/列,因此选择不起作用。
import requests, json
import pandas as pd
# url and date set earlier
response = requests.post(url, date, headers={'Authorization':'OAuth mycode'})
if response.status_code == requests.codes.ok:
response_json = response.json()
print('\n\n\nReturned JSON\n\n\n')
print(json.dumps(response_json, sort_keys=True, indent=4, separators=(',', ': ')))
# df = pd.DataFrame.from_dict(response_json)
df = pd.DataFrame(response_json)
print(df.keys())
df.loc[:,['Comment','EndTimeLocalized','Id','StartTimeLocalized']]
df.to_csv("r1.csv")
print('\nCSV Created\n')
else:
response.raise_for_status()
最佳答案
pd.DataFrame.loc
不是就地操作。
要么在导出之前分配回df
:
df = df.loc[:, ['Comment','EndTimeLocalized','Id','StartTimeLocalized']]
df.to_csv('r1.csv')
或者,如果您希望保持 df
不变,则立即切片并导出:
df.loc[:, ['Comment','EndTimeLocalized','Id','StartTimeLocalized']].to_csv('r1.csv')
关于python - 按标签选择并写入 csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54317469/