我有一个CSV文件,其中包含' \ N'在一个列下的一些单元格中,标题在SQL Server中定义为int。
我使用pyodbc每天从提供的CSV更新SQL服务器数据。问题是每当我有'N'在CSV文件中然后SQL Server更新导致错误,我必须删除行' \ N'让他们更新。
我有什么方法可以更新' \ N'在SQL Server的int类型列?
以下是代码
if(isset($_POST['submit'])){
$value = $_POST['value'];
if (empty($value)) {
echo "Post value is Empty";
}
else
{
echo $value;
}
}
答案 0 :(得分:1)
使用list comprehension遍历从csv.reader对象返回的列表,将\n
值替换为您指定的默认值(0
)。
...
for data_line in reader:
# substitute 0 if the column value is '\n'
cur.execute(query, [0 if value == '\n' else value for value in data_line])
请注意,变通方法具有高度针对性,如果出现其他价值替代案例,则难以维护。如果可能的话,我会修复创建输入文件的过程,这样您的处理代码就可以通用化,更具可读性。