Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.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
Sql server 由于创建额外列而导致的Python拆分问题_Sql Server_Python 3.x_Split_Strip_Data Cleaning - Fatal编程技术网

Sql server 由于创建额外列而导致的Python拆分问题

Sql server 由于创建额外列而导致的Python拆分问题,sql-server,python-3.x,split,strip,data-cleaning,Sql Server,Python 3.x,Split,Strip,Data Cleaning,这是我正在做的一个项目。 使用python,我导入了一个大约有2000行的大型CSV文件,并将其转换为一个列表 下面是我用来创建列表的脚本 data=[] #Will put the data in here with open('output.csv', "r") as file: # open the file for data_row in file: #get data one row at a time split up the row into columns, strippin

这是我正在做的一个项目。 使用python,我导入了一个大约有2000行的大型CSV文件,并将其转换为一个列表

下面是我用来创建列表的脚本

data=[] #Will put the data in here

with open('output.csv', "r") as file: # open the file
for data_row in file: 
#get data one row at a time split up the row into columns, stripping 
whitespace from each one and store it in 'data'
data.append( [x.strip() for x in data_row.split(",")] )
我在这个项目中的主要目标是使用python脚本(例如pandas)直接在SQL服务器中创建一个表 df=pd.DataFrame(mydata,columns=['column1','column2',…]

但是,我在拆分时遇到了一个问题,因为有些字段包含“Doe,John”格式的人名,这会创建额外的列,而且当我在pd.DataFrame中插入列名时,它会抛出“AssertionError:39列已传递,传递的数据有44列”的错误


有人能帮我解决这个问题吗?我非常感谢!

当您插入sql server时,您可以修剪尾随和前导空格,尽管我确信Python具有类似的功能。感谢您的评论。您是指sql server自己的功能吗?我完全依赖Python连接到ql server并插入表..正确,要去掉空格,在逗号上划开后,可以使用
ltrim()
rtrim()
导出时,请尝试将分隔符字符更改为数据中不太可能出现的字符,因此逗号不是分隔符。有时制表符工作正常。有时管道符号工作正常。请参阅注释JGFMK。您是指原始CSV文件中的分隔符吗?我之所以按逗号拆分,是因为CSV中的数据当我将逗号导入python时,它已经具有逗号作为分隔符。