python 透徹解析csv檔案

2021-08-11 08:39:12 字數 1237 閱讀 5720

csv的全稱是comma-separated values,故名思議,它通常是由逗號(comma)分隔的檔案,當然也可以是其它字元分隔,這裡我們僅以逗號為例。

在csv檔案中,如果每行字串中除了逗號分隔符以外其它地方沒有出現任何逗號時,我們可以很輕鬆的將其split為多個value,但是:

1、在value中出現逗號時,該檔案格式會自動將其用雙引號括起

2、在value中出現雙引號是,該檔案格式會自動將雙引號變成兩個連續的雙引號。

最」複雜」的情況是:a「b,cd——>」a」「b,cd」

下面的python**的功能是在」複雜」字串中解析出每個value

def

splitstr

(strdata):

cells =

str = ""

flag = false

i = 0

while i < len(strdata):

ch = strdata[i]

if i == len(strdata)-1:

if ch == ',':

ifnot flag:

else:

str += ch

else:

str += ch

str = ""

elif ch == ',':

ifnot flag:

str = ""

else:

str += ch

elif ch == '\"':

i += 1

if i < len(strdata) and strdata[i] == '\"':

str += strdata[i]

else:

i -= 1

flag = not flag

else:

str += ch

i += 1

return cells

測試**:

str = "\"\"sd\"\"f,\"43,5\",\"\"34"

list = splitstr(str)

for i in list:

print(i)

效果:

結束~

解析csv檔案

以下內容僅為記錄 第一步 解析csv檔案 test public void testcsv throws exception catch filenotfoundexception e string line string everyline try system.out.println csv 中...

CSV檔案解析

實現功能 針對讀取的csv文件字串進行map格式輸出 主要 如下 public class csvpaser extends parser public static void main string args system.out.println map 說明 該部分主要針對多條記錄做相應的解析 ...

ios解析csv檔案

nsstring path nsbundle mainbundle pathforresource citys oftype csv nsstringencoding gbkencoding cfstringconvertencodingtonsstringencoding kcfstringenc...