一、pandas写入csv
将dict写入csv文件
import pandas as pd
list1 = [{'c1':10, 'c2':100}, {'c1':11,'c2':110}, {'c1':12,'c2':120}]
pd.DataFrame(list1).to_csv('test.csv')
二、pandas读取csv
import pandas as pd
import numpy as np
df = pd.read_csv('test.csv')
# 输出全部的列名
print(df.columns)
print(df.columns.tolist())
# 根据列名,输出该列的所有数据
print(df["name"][0])
print(df["name"].tolist())
三、csv写入csv
import csv
csvFile = open("test.csv", "w+", encoding="utf-8")
writer = csv.writer(csvFile)
data_list = [["name", "age"]]
data_list.append(["张三", "1"])
data_list.append(["李四", "2"])
file_name = "test.csv"
with open(file_name, "w") as csvfile:
writer = csv.writer(csvfile)
writer.writerows(data_list)
四、csv读取csv
import csv
# 读取csv至字典
csvFile = open("test.csv", "r")
reader = csv.reader(csvFile)
# 建立空字典
for item in reader:
# 忽略第一行
if reader.line_num == 1:
continue
print(item)
csvFile.close()
五、处理杂乱的json,将其写入csv
import re
import json
import pandas as pd
path_in = "live.json"
path_out = "merge.csv"
data_list = []
f = open(path_in, "r", encoding="utf-8")
num = 0
for line in f.readlines():
line = line.replace("\n", "")
line = line.replace("'", '"')
regex = re.compile(r'\\(?![/u"])')
line = regex.sub(r"\\\\", line)
line = line.replace("\": \"", "@#@1")
line = line.replace("\", \"", "@#@2")
line = line.replace("\": ", "@#@3")
line = line.replace(", \"", "@#@4")
line = line[2:-2]
line = line.replace("\"", "*#*")
line = line.replace("\'", "#*#")
line = line.replace("@#@1", "\": \"")
line = line.replace("@#@2", "\", \"")
line = line.replace("@#@3", "\": ")
line = line.replace("@#@4", ", \"")
line = "{\""+line+"\"}"
num += 1
print(num, len(line), line)
data_json = json.loads(line)
data_list.append(data_json)
f.close()
df = pd.DataFrame(data_list).to_csv(path_out)
print(df)