Sql server 由于创建额外列而导致的Python拆分问题
这是我正在做的一个项目。 使用python,我导入了一个大约有2000行的大型CSV文件,并将其转换为一个列表 下面是我用来创建列表的脚本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
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时,它已经具有逗号作为分隔符。