python pandas dataframe 不显示索引_Python Pandas DataFrame在追加时添加索引列

我正在循环查看csv文件以追加到DataFrame表中,但似乎每次我循环并追加时,都会在表中添加索引列。非常混乱,我很困难,任何帮助都会很棒。Python Pandas DataFrame在追加时添加索引列

我的代码:

import sqlite3 as sql

import pandas as pd

import hashlib

import os

import csv

from pandas import ExcelWriter

def obtain_data(filename, connect, type):

writer =

ExcelWriter('path\\new_excel_sheets\\'+filename+'.xlsx')

table =

ExcelWriter('path\\new_excel_sheets\\hash_table.xlsx')

if type == True:

print(filename)

df = pd.DataFrame.from_csv('path'+filename,

index_col=None)

else:

workbook = pd.ExcelFile('path' + filename)

df = workbook.parse('Sheet1')

df = df.rename(columns={'INDEX': 'INDX'})

df = df.rename(columns={'Index': 'INDXS'})

headers = df.dtypes.index

header_list = str(headers.tolist())

header_list = ''.join(header_list)

hash_t = str(hashlib.md5(header_list.encode('utf-8')).hexdigest())

c = connect.cursor()

print(filename)

print(hash_t)

if hash_t == 'd22db04a2f009f222da57e91acdce21b':

next_open = df['DATE'][1]

next_open_value = df['DATE'][2]

df.insert(3, next_open, next_open_value)

headers = df.dtypes.index

header_list = str(headers.tolist())

header_list = ''.join(header_list)

new_hash_t = str(hashlib.md5(header_list.encode('utf-

8')).hexdigest())

df = df.drop(df.index[1:])

hashing = {str(new_hash_t): str(filename)}

df2 = pd.DataFrame.from_dict(hashing, orient='index')

try:

df2.to_sql(name='Hash Table', con=connect, if_exists='append')

df.to_sql(name=new_hash_t, con=connect, if_exists='append')

except:

raise IndexError('Could not transform ' + str(filename) + ' into

database.')

elif hash_t == '484fbe4de83acb41480dd935d82d7fbe':

next_open = df['DATE'][1]

next_open_value = df['DATE'][2]

df.insert(3, next_open, next_open_value)

headers = df.dtypes.index

header_list = str(headers.tolist())

header_list = ''.join(header_list)

new_hash_t = str(hashlib.md5(header_list.encode('utf-

8')).hexdigest())

df = df.drop(df.index[2])

df['DATE'][1] = df['DATE'][0]

hashing = {new_hash_t: filename}

df2 = pd.DataFrame.from_dict(hashing, orient='index')

try:

df2.to_sql(name='Hash Table', con=connect, if_exists='append')

df.to_sql(name=new_hash_t, con=connect, if_exists='append')

except:

raise IndexError('Could not transform ' + str(filename) + ' into

database.')

else:

hashing = {hash_t: filename}

df2 = pd.DataFrame.from_dict(hashing, orient='index')

try:

df2.to_sql(name='Hash Table', con=connect, if_exists='append',

index=False)

df.to_sql(name=hash_t, con=connect, if_exists='append',

index=True)

except:

raise IndexError('Could not transform ' + str(filename) + '

into database.')

df.to_excel(writer)

print(filename + ' has been completed succesfully.')

final_results = {'df': df, 'hash_t': hash_t}

return final_results

csv_files = []

usable_files = []

for filename in os.listdir(filepath):

if filename.endswith(".xlsx"):

print('Found an XLSX file ' + str(filename))

usable_files.append(filename)

elif filename.endswith('.CSV'):

print('Found a CSV File ' + filename)

csv_files.append(filename)

else:

print('Found an unusable file ' + str(filename))

for file in usable_files:

connect = sql.connect(SQLite3 connection)

obtain_data(file, connect, False)

for file in csv_files:

connect = sql.connect(SQLite3 connection)

obtain_data(file, connect, True)

print('All files have been made into Tables')

的sqlite3的数据库做的一切权利,但是当我追加到它,它增加了一个索引列。我不知道如何把索引栏放在这里(随意教我),所以请在这里忍受。该表从这样看

rowid, 0 , 1, 2, etc

0, value, value, value, etc

1, value, value, value, etc

去,但是当我遍历(比如4倍),它改变这个

rowid, index, 0, 1, 2, etc

0, 0, 0, 0, 0, value

0, 0, 0, 0, 0, value

这是一个很奇怪的问题,所以任何帮助,将不胜感激,谢谢!

2017-08-11

Bruno

+0

考虑发布下一更少的代码用一个经过验证的例子来隔离你的问题。 -1 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值