Windows下生成CSV
for chunk in pandas.read_sql(query, cnn, chunksize=chunksize):
df_csv = chunk.to_csv(rf'C:\...\Python\CSV\output_{count}.csv',
sep=';',
na_rep='NULL',
line_terminator='\r\n',
mode='w',
index=False)
然后我尝试将我生成的内容大量倒入续集中
BULK INSERT [TestBase].[dbo].[CSV]
FROM 'C:\...\Python\CSV\output_1.csv'
WITH
(
DATAFILETYPE = N'CHAR',
--FIELDQUOTE = '"',
FIRSTROW = 2,
--CODEPAGE = 'UTF-8',
FIELDTERMINATOR = ';',
ROWTERMINATOR = N'\r\n',
ERRORFILE = 'C:\...\Python\CSV\myErrorData.log',
TABLOCK
)
没有错误,没有结果。
将行分隔符类型从更改为之前\n
出现\r\n
错误
第 2 行第 9 列 (IsResolved) 的批量加载数据转换错误(指定代码页的类型不匹配或无效字符)。
和
第 2 行文件偏移量 194 错误文件偏移量 0 - HRESULT 0x80020005
在 pandas 中生成 CSV 文件时,需要将 NULL 值形成为
''
,即 指定而不是na_rep='NULL'
->na_rep=''
。也line_terminator='\r\n'
改为line_terminator='\n'
.接下来,在批量插入数据时,指定以下内容: