pandas書き込み読み取りcsvファイル
2122 ワード
1.Pandasでリストデータをcsvファイルに書き込み、具体的な操作を関数にカプセル化し、そのまま呼び出せばよい.
注記:csvファイルへの書き込みが発生する可能性があり、符号化エラーが発生して書き込めない場合は、符号化を変更できます:gb 18030符号化に変更します.
挿入するデータフィールドが不確定な場合は、追加で挿入できます.追加挿入には、パラメータmodal="a"
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()