pandas書き込み読み取りcsvファイル

2122 ワード

1.Pandasでリストデータをcsvファイルに書き込み、具体的な操作を関数にカプセル化し、そのまま呼び出せばよい.
def insert_csv(datas):
    df = pd.DataFrame(datas)
    file_name = 'hello'
    df.to_csv('{}.csv'.format(file_name),encoding = "GBK")

注記:csvファイルへの書き込みが発生する可能性があり、符号化エラーが発生して書き込めない場合は、符号化を変更できます:gb 18030符号化に変更します.
挿入するデータフィールドが不確定な場合は、追加で挿入できます.追加挿入には、パラメータmodal="a"# csvを追加する必要があります.
          df.to_csv("my.csv", mode='a',header=False)
2. pandas
df = pd.read_csv('xxy_yang.csv', encoding="gbk")
lines = list()
#read_result: ,
read_result = df.reset_index().T.to_dict()
for _index in read_result:
#
  lines.append(read_result[_index])
#
from concurrent.futures import ThreadPoolExecutor, as_completed
from multiprocessing import Process, Manager
# manager server , python proxies 。
def thread_run(_tuple):
   line_list = _tuple
   # , ThreadPoolExecutor, 100
   executor = ThreadPoolExecutor(max_workers=100)
   all_tasks = [executor.submit(do_data_process, line) for line in line_list]
   data_list = list()
   for future in as_completed(all_tasks):
   result_dict = future.result()
   if result_dict:
     data_list.append(result_dict)
   #    df = pd.DataFRame(data_list)    df.to_csv("xx.csv")
def do_data_process():
  #
  pass # 6
if __name__  == '__main__':
data_list = [] pool = list() with Manager() as mess:   # 6    for start_num in range(6):      p = Process(target=tread_run, args=((data_list[start_num::6]),))      p.start()      pool.append(p)     for p in pool:       p.join()