Делать это с пандами очень просто. Откройте ваш CSV-файл с пандами:
import pandas as pd
df = pd.read_csv("example.csv")
#checking the number of empty rows in th csv file
print (df.isnull().sum())
#Droping the empty rows
modifiedDF = df.dropna()
#Saving it to the csv file
modifiedDF.to_csv('modifiedExample.csv',index=False)
Я думаю, что SUBSTRING будет лучшим выбором. Попробуйте следующее:
SELECT TOP 10
C.FirstName + ' ' + C.LastName AS CustomerName
,SUBSTRING(C.TestimonialText,1,50) AS TestimonialSnippet
,C.TestimonialDate
FROM Customer AS C
ORDER BY SUBSTRING(C.TestimonialText,1,50) DESC
Если вы используете SQL Server 2005 или более поздней версии, не используйте текстовый тип данных, поскольку он лишен ограничений. Используйте varchar (max) или nvarchar (max). Все строковые функции будут работать. Подробнее здесь: http://msdn.microsoft.com/en-us/library/ms178158.aspx
Вы ищете что-то подобное? Обратите внимание на CAST (C.TestimonialText AS VARCHAR (50)) в операторе SELECT.
SELECT TOP 10
C.FirstName + ' ' + C.LastName AS CustomerName,
CAST(C.TestimonialText AS VARCHAR(50)) AS TestimonialSnippet,
C.TestimonialDate
FROM Customer AS C
ORDER BY C.TestimonialDate DESC
Вот некоторые тестовые данные
Настройка тестовых данных
create table #t (mytext text)
insert into #t VALUES ('1234567890')
insert into #t VALUES ('123')
SELECT
mytext,
CAST(mytext as varchar(5)) AS Snippet
FROM #t
Результаты
mytext Snippet
---------- -------
1234567890 12345
123 123
В основном случилось то, что вы указали недопустимый тип данных для первого параметра функции LEFT. Убедитесь, что вы привели текстовый тип данных как varchar или nvarchar, тогда ваш запрос определенно работает. Вот пример, который я тестировал в SQL Server 2005
Create table #Customer
(
firstName varchar(30)
,lastName varchar(30)
,testimonial text
,testimonialDate DateTime
)
GO
INSERT INTO #Customer (firstName, lastName, testimonial, testimonialDate ) VALUES('Jonhn', 'Smith', 'we really really like your product and blaha ......', getDate())
GO
INSERT INTO #Customer (firstName, lastName, testimonial , testimonialDate) VALUES('Mary', 'Toe', 'we really really like your product and blaha ......', getDate() - 3)
GO
INSERT INTO #Customer (firstName, lastName, testimonial , testimonialDate) VALUES('Amanda', 'Palin', 'we really really like your product and blaha ......', getDate() -2 )
GO
SELECT TOP 3 C.FirstName + ' ' + C.LastName AS CustomerName ,LEFT( CAST(C.Testimonial as varchar(50)),50) AS TestimonialSnippet ,C.TestimonialDate FROM #Customer AS C ORDER BY C.TestimonialDate DESC
GO
Drop table #Customer
GO