1.python读取csv文件
#!/usr/bin/python
# -*- coding: UTF-8 -*-
df = pd.read_csv(filepath,usecols=['func_name', 'para_value'])
df_t = df.fillna(value='')//对空字符进行填充
func=df_t ['func_name']//取func_name列
para=df_t ['para_value']
2.遍历路径下的文件
def file_name(file_dir):
file_list=[]
for files in os.walk(file_dir):
file_list=files[2]
return file_list
3.python从数据库中读取数据
import os
import re
import click
import numpy as np
import pandas as pd
import pymysql as psql
import datetime
import threading
time_start = (datetime.date.today()-datetime.timedelta(days=1)).strftime('%Y%m%d')
lock = threading.Lock()
def read_data_from_db(db_ip, db_port, db_user, db_pwd, db_name, sql_str):
with psql.connect(host=db_ip, port=db_port, user=db_user, passwd=db_pwd, db=db_name, charset='utf8') as conn:
lock.acquire() #获得锁定
flag = conn.execute(sql_str)
lock.release()
# 返回的是元组组成的列表
data = conn.fetchall()
return data
sql_str = “SELECT * FROM database WHERE Time >= '” + sdate + “’” + " AND " + “Time <= '” + edate + “’”+“AND Level=’”+level+"’"+“AND FileType=’”+type+ “’”
ip=“10.*.*.*”
columns_Attach = [
“Name”,
“Mail”,
“ID”,
“FileName”,
“FileType”
]
db_90 = read_data_from_db(db_ip=ip, db_port=33, db_user=“root”, db_pwd=“toor”, db_name=“DB_TEST”,sql_str=sql_str)
df_90 = pd.DataFrame(list(db_90),columns=columns_Attach)
df_data = pd.concat([df_90])
IDs = list(df_data[“ID”].values)
Mails=list(df_data[‘Mail1’])
4.python逐行写入csv
#actions是一个字典类型
DataFrame = pd.DataFrame(actions, index=[num])
if num == 0:
DataFrame.to_csv(csvName, header=True) # index=True, sep=',',
else:
DataFrame.to_csv(csvName, mode='a', header=False)
num+=1