Skip to content
Advertisement

Python3: Can’t write to text file with obtained data from SQL table

I think I am stucked on an easy job as a beginner but have to ask this question. My objective is to create another list from data obtained from a SQL Table. This list will be created in acocrdance with the input data by user.

The SQL table has no problem, but I couldn’t write on a txt file despite not receiving an error message. Where is the problem?

import sqlite3
db = sqlite3.connect("air2.sql")
cs = db.cursor()


epcs = dict()
for i in range(19):
    epcs[i] = 0

def addepc():

    epcNo = input("EPC No:")
    a = "SELECT * FROM 'epcval5' WHERE epc='EPC{}'".format(epcNo)

    cs.execute(a)
    data = cs.fetchone()
    print("You have selected this EPC:")
    for i in data:
        print(i)

    b = "SELECT value FROM 'epcval5' as float WHERE epc='EPC{}'".format(epcNo)
    cs.execute(b)
    epcv = cs.fetchone()
    res = str('.'.join(str(ele) for ele in epcv))
    print(type(res))

    with open('epcs.txt', 'w') as f:
        epcs[epcNo] = res
        f.write(epcs[epcNo])

addepc()
        print("Done! Press ENTER to continue")

        input()

Advertisement

Answer

You could use pandas to write it to a csv file

with sqlite3.connect(DB_FILENAME) as con:
    df = pd.read_sql_query('your sql query',con)

df.to_csv('file_name')
User contributions licensed under: CC BY-SA
4 People found this is helpful
Advertisement