Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python写入记录到新文本文件_Python_Pyodbc - Fatal编程技术网

Python写入记录到新文本文件

Python写入记录到新文本文件,python,pyodbc,Python,Pyodbc,下面的代码将每条记录写入一个文本文件。我想为每条记录创建一个新的文本文件。有没有一种方法可以在文件名后面附加一个唯一的字符或数字来强制一个新文件 import pyodbc import csv # Create connection cnxn = pyodbc.connect(driver="{SQL Server}",server="<server>",database="<database>",uid="<username>",pwd="<pas

下面的代码将每条记录写入一个文本文件。我想为每条记录创建一个新的文本文件。有没有一种方法可以在文件名后面附加一个唯一的字符或数字来强制一个新文件

import pyodbc
import csv

# Create connection
cnxn = pyodbc.connect(driver="{SQL Server}",server="<server>",database="<database>",uid="<username>",pwd="<password>")
cursor = cnxn.cursor()
cursor.execute("SELECT * FROM <table>")
row = cursor.fetchall()

with open(r"c:/Projects/record.txt", "w") as f:
    csv.writer(f).writerows(row)
有没有一种方法可以在文件名后面附加一个唯一的字符或数字来强制一个新文件

import pyodbc
import csv

# Create connection
cnxn = pyodbc.connect(driver="{SQL Server}",server="<server>",database="<database>",uid="<username>",pwd="<password>")
cursor = cnxn.cursor()
cursor.execute("SELECT * FROM <table>")
row = cursor.fetchall()

with open(r"c:/Projects/record.txt", "w") as f:
    csv.writer(f).writerows(row)
是的,当然有。只需遍历行,并为每次迭代构建不同的文件名。比如说,

导入csv 导入pyodbc connStr= rDriver={SQL Server}; rServer=local\SQLEXPRESS; rDatabase=myDb; rTrusted_连接=是; cnxn=pyodbc.connectconnStr crsr=cnxn.cursor sql=\ 选择101作为numthing,“foo”作为txthing 联合所有 选择102作为numthing,“bar”作为txthing 联合所有 选择103作为numthing,选择baz作为txthing crsr.executesql i=1 对于crsr中的行: 使用open'C://uu tmp/Projects/record{0}.csv'.formati,'w'作为f: csv.writerf.writerowrow i+=1 crsr.close 关闭 创建按顺序编号的文件

record1.csv record2.csv
record3.csv

对于所描述的场景,此代码看起来基本合理-您是否收到错误?如果是,请包括在内。如果没有,请说明您遇到了什么麻烦,或者您的实际问题是什么。上面的代码是将每条记录写入单个文本文件。我想为每条记录创建一个新的文本文件。有没有一种方法可以在文件名后面附加一个唯一的字符或数字来强制创建一个新文件?@localhost请回答您的问题,并包含相关信息。正如它现在读到的,你的问题有效地传达了,我想学点东西。这是一些代码。我更新了问题。谢谢你的建议。