Output data in a single line to a csv file
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
How can I output data from the database in a single line to a csv file? Now it looks like this:
ID
SN
CLASS_ID
and I need as:
ID SN CLASS_ID
My code so far:
path = "C:IBSODOKexercise_1.csv"
try:
connection = cx_Oracle.connect("admin", "123", "localhost")
except cx_Oracle.DatabaseError as err:
print("Error auth", err)
cursor = connection.cursor()
cursor.execute("""
SELECT * FROM Z#PRODUCT
WHERE ROWNUM <=10
""")
with open(path, 'w', newline='') as csvfile:
writer = csv.writer(csvfile, delimiter=' ')
for column in cursor.description:
writer.writerow(''.join(column[0]))
python-3.x cx-oracle
add a comment |
How can I output data from the database in a single line to a csv file? Now it looks like this:
ID
SN
CLASS_ID
and I need as:
ID SN CLASS_ID
My code so far:
path = "C:IBSODOKexercise_1.csv"
try:
connection = cx_Oracle.connect("admin", "123", "localhost")
except cx_Oracle.DatabaseError as err:
print("Error auth", err)
cursor = connection.cursor()
cursor.execute("""
SELECT * FROM Z#PRODUCT
WHERE ROWNUM <=10
""")
with open(path, 'w', newline='') as csvfile:
writer = csv.writer(csvfile, delimiter=' ')
for column in cursor.description:
writer.writerow(''.join(column[0]))
python-3.x cx-oracle
1
Where are you fetching the output ofcur.execute
? I can't seem to findcur.fetchall()
in your code.
– Mayank Porwal
Nov 15 '18 at 10:06
Firstly I want output column name
– Straider
Nov 15 '18 at 10:32
add a comment |
How can I output data from the database in a single line to a csv file? Now it looks like this:
ID
SN
CLASS_ID
and I need as:
ID SN CLASS_ID
My code so far:
path = "C:IBSODOKexercise_1.csv"
try:
connection = cx_Oracle.connect("admin", "123", "localhost")
except cx_Oracle.DatabaseError as err:
print("Error auth", err)
cursor = connection.cursor()
cursor.execute("""
SELECT * FROM Z#PRODUCT
WHERE ROWNUM <=10
""")
with open(path, 'w', newline='') as csvfile:
writer = csv.writer(csvfile, delimiter=' ')
for column in cursor.description:
writer.writerow(''.join(column[0]))
python-3.x cx-oracle
How can I output data from the database in a single line to a csv file? Now it looks like this:
ID
SN
CLASS_ID
and I need as:
ID SN CLASS_ID
My code so far:
path = "C:IBSODOKexercise_1.csv"
try:
connection = cx_Oracle.connect("admin", "123", "localhost")
except cx_Oracle.DatabaseError as err:
print("Error auth", err)
cursor = connection.cursor()
cursor.execute("""
SELECT * FROM Z#PRODUCT
WHERE ROWNUM <=10
""")
with open(path, 'w', newline='') as csvfile:
writer = csv.writer(csvfile, delimiter=' ')
for column in cursor.description:
writer.writerow(''.join(column[0]))
python-3.x cx-oracle
python-3.x cx-oracle
edited Nov 15 '18 at 10:37
usr2564301
17.9k73373
17.9k73373
asked Nov 15 '18 at 10:00
StraiderStraider
13
13
1
Where are you fetching the output ofcur.execute
? I can't seem to findcur.fetchall()
in your code.
– Mayank Porwal
Nov 15 '18 at 10:06
Firstly I want output column name
– Straider
Nov 15 '18 at 10:32
add a comment |
1
Where are you fetching the output ofcur.execute
? I can't seem to findcur.fetchall()
in your code.
– Mayank Porwal
Nov 15 '18 at 10:06
Firstly I want output column name
– Straider
Nov 15 '18 at 10:32
1
1
Where are you fetching the output of
cur.execute
? I can't seem to find cur.fetchall()
in your code.– Mayank Porwal
Nov 15 '18 at 10:06
Where are you fetching the output of
cur.execute
? I can't seem to find cur.fetchall()
in your code.– Mayank Porwal
Nov 15 '18 at 10:06
Firstly I want output column name
– Straider
Nov 15 '18 at 10:32
Firstly I want output column name
– Straider
Nov 15 '18 at 10:32
add a comment |
2 Answers
2
active
oldest
votes
You can usepandas.read_sql(conn, query)
to read your SQL into a pandas.DataFrame
and then save to file using pandas.to_csv(path)
so the code would be something like:
import pandas as pd
path = "C:IBSODOKexercise_1.csv"
try:
connection = cx_Oracle.connect("admin", "123", "localhost")
except cx_Oracle.DatabaseError as err:
print("Error auth", err)
query = """
SELECT * FROM Z#PRODUCT
WHERE ROWNUM <=10
"""
df = pd.read_sql(connection, query)
df.to_csv(path, index= False)
Theoretically, you could likely one-line it into: pd.read_sql(connection, query).to_csv(path, index= False)
but I have not tested that.
add a comment |
The problem lies in
for column in cursor.description:
writer.writerow(''.join(column[0]))
I assume that each column
is a string, so for each column
you write the results of joining, with the null string, the individual characters in the column name, e.g.:
In [58]: ''.join('asdfe')
Out[58]: 'asdfe'
and using writerow
then you put a single column name on an individual row.
What you want to do is to leave the work to writerow
that is designed to put in the CSV the values contained in a, losely speaking, list:
with open(path, 'w', newline='') as csvfile:
writer = csv.writer(csvfile, delimiter=' ')
writer.writerow(cursor.description)
# other code where you process and output the query results
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53316809%2foutput-data-in-a-single-line-to-a-csv-file%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can usepandas.read_sql(conn, query)
to read your SQL into a pandas.DataFrame
and then save to file using pandas.to_csv(path)
so the code would be something like:
import pandas as pd
path = "C:IBSODOKexercise_1.csv"
try:
connection = cx_Oracle.connect("admin", "123", "localhost")
except cx_Oracle.DatabaseError as err:
print("Error auth", err)
query = """
SELECT * FROM Z#PRODUCT
WHERE ROWNUM <=10
"""
df = pd.read_sql(connection, query)
df.to_csv(path, index= False)
Theoretically, you could likely one-line it into: pd.read_sql(connection, query).to_csv(path, index= False)
but I have not tested that.
add a comment |
You can usepandas.read_sql(conn, query)
to read your SQL into a pandas.DataFrame
and then save to file using pandas.to_csv(path)
so the code would be something like:
import pandas as pd
path = "C:IBSODOKexercise_1.csv"
try:
connection = cx_Oracle.connect("admin", "123", "localhost")
except cx_Oracle.DatabaseError as err:
print("Error auth", err)
query = """
SELECT * FROM Z#PRODUCT
WHERE ROWNUM <=10
"""
df = pd.read_sql(connection, query)
df.to_csv(path, index= False)
Theoretically, you could likely one-line it into: pd.read_sql(connection, query).to_csv(path, index= False)
but I have not tested that.
add a comment |
You can usepandas.read_sql(conn, query)
to read your SQL into a pandas.DataFrame
and then save to file using pandas.to_csv(path)
so the code would be something like:
import pandas as pd
path = "C:IBSODOKexercise_1.csv"
try:
connection = cx_Oracle.connect("admin", "123", "localhost")
except cx_Oracle.DatabaseError as err:
print("Error auth", err)
query = """
SELECT * FROM Z#PRODUCT
WHERE ROWNUM <=10
"""
df = pd.read_sql(connection, query)
df.to_csv(path, index= False)
Theoretically, you could likely one-line it into: pd.read_sql(connection, query).to_csv(path, index= False)
but I have not tested that.
You can usepandas.read_sql(conn, query)
to read your SQL into a pandas.DataFrame
and then save to file using pandas.to_csv(path)
so the code would be something like:
import pandas as pd
path = "C:IBSODOKexercise_1.csv"
try:
connection = cx_Oracle.connect("admin", "123", "localhost")
except cx_Oracle.DatabaseError as err:
print("Error auth", err)
query = """
SELECT * FROM Z#PRODUCT
WHERE ROWNUM <=10
"""
df = pd.read_sql(connection, query)
df.to_csv(path, index= False)
Theoretically, you could likely one-line it into: pd.read_sql(connection, query).to_csv(path, index= False)
but I have not tested that.
answered Nov 15 '18 at 10:10
dozyaustindozyaustin
14911
14911
add a comment |
add a comment |
The problem lies in
for column in cursor.description:
writer.writerow(''.join(column[0]))
I assume that each column
is a string, so for each column
you write the results of joining, with the null string, the individual characters in the column name, e.g.:
In [58]: ''.join('asdfe')
Out[58]: 'asdfe'
and using writerow
then you put a single column name on an individual row.
What you want to do is to leave the work to writerow
that is designed to put in the CSV the values contained in a, losely speaking, list:
with open(path, 'w', newline='') as csvfile:
writer = csv.writer(csvfile, delimiter=' ')
writer.writerow(cursor.description)
# other code where you process and output the query results
add a comment |
The problem lies in
for column in cursor.description:
writer.writerow(''.join(column[0]))
I assume that each column
is a string, so for each column
you write the results of joining, with the null string, the individual characters in the column name, e.g.:
In [58]: ''.join('asdfe')
Out[58]: 'asdfe'
and using writerow
then you put a single column name on an individual row.
What you want to do is to leave the work to writerow
that is designed to put in the CSV the values contained in a, losely speaking, list:
with open(path, 'w', newline='') as csvfile:
writer = csv.writer(csvfile, delimiter=' ')
writer.writerow(cursor.description)
# other code where you process and output the query results
add a comment |
The problem lies in
for column in cursor.description:
writer.writerow(''.join(column[0]))
I assume that each column
is a string, so for each column
you write the results of joining, with the null string, the individual characters in the column name, e.g.:
In [58]: ''.join('asdfe')
Out[58]: 'asdfe'
and using writerow
then you put a single column name on an individual row.
What you want to do is to leave the work to writerow
that is designed to put in the CSV the values contained in a, losely speaking, list:
with open(path, 'w', newline='') as csvfile:
writer = csv.writer(csvfile, delimiter=' ')
writer.writerow(cursor.description)
# other code where you process and output the query results
The problem lies in
for column in cursor.description:
writer.writerow(''.join(column[0]))
I assume that each column
is a string, so for each column
you write the results of joining, with the null string, the individual characters in the column name, e.g.:
In [58]: ''.join('asdfe')
Out[58]: 'asdfe'
and using writerow
then you put a single column name on an individual row.
What you want to do is to leave the work to writerow
that is designed to put in the CSV the values contained in a, losely speaking, list:
with open(path, 'w', newline='') as csvfile:
writer = csv.writer(csvfile, delimiter=' ')
writer.writerow(cursor.description)
# other code where you process and output the query results
answered Nov 15 '18 at 10:31
gboffigboffi
9,33822558
9,33822558
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53316809%2foutput-data-in-a-single-line-to-a-csv-file%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Where are you fetching the output of
cur.execute
? I can't seem to findcur.fetchall()
in your code.– Mayank Porwal
Nov 15 '18 at 10:06
Firstly I want output column name
– Straider
Nov 15 '18 at 10:32