如何将json转为csv
1、通过json直接转为csv
在Python中,你可以使用pandas库来处理DataFrame(数据帧)和将JSON数据转换为CSV格式。下面是一个简单的示例代码,展示了如何使用pandas库将JSON数据转换为CSV文件:
import pandas as pd
# 示例JSON数据
json_data = [
{
"name": "Alice", "age": 25, "city": "New York"},
{
"name": "Bob", "age": 30, "city": "San Francisco"},
{
"name": "Charlie", "age": 22, "city": "Los Angeles"}
]
# 将JSON数据加载到DataFrame
df = pd.DataFrame(json_data)
# 将DataFrame保存为CSV文件
csv_filename = "output.csv"
df.to_csv(csv_filename, index=False)
print("JSON数据已转换为CSV文件:", csv_filename)
2、在csv中继续追加json
注意:
- 这里使用的是最新版本的pandas版本
如果你希望每次执行都将新的JSON数据添加到同一个CSV文件中,而不是覆盖之前的数据,你需要在每次执行时加载CSV文件,然后将新的JSON数据追加到已有的CSV文件中。以下是修改过的代码示例,实现了将每次执行的JSON数据追加到同一个CSV文件中:
import pandas as pd
# 示例JSON数据
json_data = [
{
"name": "David", "age": 28, "city": "Chicago"},
{
"name": "Eve", "age": 33, "city": "Seattle"},
{
"name": "Frank", "age": 40, "city": "Boston"}
]
# CSV文件名
csv_filename = "output.csv"
try:
# 尝试加载已有的CSV文件
df = pd.read_csv(csv_filename)
except FileNotFoundError:
# 如果文件不存在,创建一个新的DataFrame
df = pd.DataFrame()
# 将新的JSON数据加载到DataFrame
new_data = pd.DataFrame(json_data)
df = pd.concat([df, new_data], ignore_index=True)
# 将DataFrame保存回CSV文件
df.to_csv(csv_filename, index=False)
print("新的JSON数据已追加到CSV文件:", csv_filename)
此版本的代码使用concat方法将新的JSON数据追加到已有的DataFrame中。这个方法可以接受一个包含要连接的DataFrame的列表,ignore_index=True参数确保生成的DataFrame重新索引以避免索引冲突。然后再将整个DataFrame保存回同一个CSV文件中。这样,每次执行代码时,新的JSON数据都会被添加到同一个CSV文件中而不会覆盖之前的数