【python】python将json字符串导出excel | pandas处理json字符串保存为csv
如何将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:# 如果文件不存在,创建一个新的DataFramedf = 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文件中而不会覆盖之前的数