Board logo

標題: [已解決]excel import csv line break 問題 [打印本頁]

作者: bongbong3481    時間: 2023-5-6 16:37     標題: [已解決]excel import csv line break 問題

本帖最後由 bongbong3481 於 2023-9-30 21:21 編輯

用excel import csv file ,發覺某個Col 的field 內有line break,導致import csv file 後走晒位, 請問有咩方法解決到?

解決方法:最近學緊python,發覺用pandas 幾行code 搞好[將csv load 入pandas ,再save as xlsx 格式]
作者: fred2088    時間: 2023-5-7 15:28

回復 1 #bongbong3481

多唔多? 小的話人手執咗先至import,

多的話, regen csv with another seperator

via HKEPC Reader for Android
作者: bongbong3481    時間: 2023-5-7 15:35

回覆 2# fred2088


10幾萬行,個csv file 由系統generate 出黎,不能gen 另一種seperator, 只能在import 時候想方法。
作者: kwliu    時間: 2023-5-7 21:59

https://superuser.com/questions/ ... csv-file-into-excel
作者: bongbong3481    時間: 2023-5-9 07:11

kwliu 發表於 2023-5-7 21:59


公司機沒咩工具,只有notepad 及excel,  試左提及的方法,都系吾得。 google 左d code,    只能試下用vbs 將line break remove.
作者: jimking332    時間: 2023-5-9 12:00

公司機沒咩工具,只有notepad 及excel,  試左提及的方法,都系吾得。 google 左d code,    只能試下用vbs ...
bongbong3481 發表於 2023-5-9 07:11



有冇dummy data放上黎試? 幾行就夠了
作者: lamsir    時間: 2023-5-9 22:00

回覆 1# bongbong3481

Answered by ChatGPT:
  1. Sub RemoveLineBreaksFromCSV()

  2.     Dim strFile As String
  3.     Dim strText As String
  4.    
  5.     strFile = "C:\Users\username\Documents\example.csv" 'Change this to the file path of your CSV file
  6.    
  7.     'Read the contents of the CSV file
  8.     Open strFile For Input As #1
  9.     strText = Input$(LOF(1), 1)
  10.     Close #1
  11.    
  12.     'Replace line breaks with a space character
  13.     strText = Replace(strText, vbLf, " ")
  14.    
  15.     'Save the modified CSV file
  16.     Open strFile For Output As #1
  17.     Print #1, strText
  18.     Close #1
  19.    
  20.     'Import the modified CSV file into Excel
  21.     With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & strFile, Destination:=Range("A1"))
  22.         .TextFileParseType = xlDelimited
  23.         .TextFileCommaDelimiter = True 'Change this to the delimiter used in your CSV file
  24.         .Refresh
  25.     End With
  26.    
  27. End Sub

  28. This code first reads the contents of the CSV file into a string variable. It then replaces line breaks with a space character using the `Replace` function. The modified text is then saved back to the CSV file. Finally, the modified CSV file is imported into Excel using the `QueryTables.Add` method. You can customize this code to fit your specific needs, such as changing the file path and delimiter used in the CSV file.
複製代碼

作者: bongbong3481    時間: 2023-5-10 19:14

回覆 7# lamsir

試左吾得, excel 出得一行row
作者: bongbong3481    時間: 2023-5-10 19:16

回覆 6# jimking332


   d 資料是client 有關吾出得街,  吾知line break 是咩符號(只見到email 或電話分了2行),所以沒辦法人肉整一個sample 出黎
作者: 狂蜂一號    時間: 2023-5-10 19:40

https://www.nirsoft.net/utils/csv_file_view.html
作者: 狂蜂一號    時間: 2023-5-10 19:46

回覆  jimking332


   d 資料是client 有關吾出得街,  吾知line break 是咩符號(只見到email 或電話分了 ...
bongbong3481 發表於 2023-5-10 19:16


"吾知line break 是咩符號" - use VBA to get it?
作者: LEARZA    時間: 2023-5-10 22:13

https://contexturesblog.com/arch ... -breaks-in-excel-2/

按文章描述, 我用excel 2021試過, 喺find既格仔 按 ctrl鍵 同 J鍵 就會輸入line break字符
作者: LEARZA    時間: 2023-5-10 22:22

VBA CODE

VBA CODE

VBA.png
2023-5-10 22:22


圖片附件: [VBA CODE] VBA.png (2023-5-10 22:22, 1.35 KB) / 下載次數 72
https://h1.hkepc.com/forum/attachment.php?aid=2372123&k=62909ad51223893d90eb6fe2cb85ab96&t=1726598384&sid=1sNtV6gmpl


作者: bongbong3481    時間: 2023-5-11 18:41

回覆 12# LEARZA


    ctrl+j  都search 吾到line break,  可能是其它符號的line break
作者: bongbong3481    時間: 2023-5-11 18:43

回覆 13# LEARZA


先load csv , 再replace line break,  呢個方法吾得喇,load 完csv 已經走晒位
作者: LEARZA    時間: 2023-5-11 23:56

https://www.howtogeek.com/704121/how-to-add-line-breaks-in-excel/
上面條片描述嘅"line break" 喺Excel官方稱為"Wrap Text"
下面條片示範"移除分行"
https://www.youtube.com/watch?v=7XhEZKTQurM

未知樓主描述既"line break"是什麼性質
作者: Gallardo    時間: 2023-5-12 11:54

回覆  fred2088


10幾萬行,個csv file 由系統generate 出黎,不能gen 另一種seperator, 只能在import  ...
bongbong3481 發表於 2023-5-7 15:35


搵一個例子, 入system 有line break 個 input field, 試下copy 個line break.
作者: pekkle    時間: 2023-5-12 12:37

用notepad++ load個csv,睇吓個linebreak係乜先啦
作者: bongbong3481    時間: 2023-9-30 21:26

回覆 18# pekkle


最近學緊python,發覺用pandas 幾行code 搞好[將csv load 入pandas ,再save as xlsx 格式],不過都是吾知個line break 係咩黎
作者: 電腦盲用戶    時間: 2023-9-30 22:04

dos/window自古以來轉行咪0D0A囉,有d OS只係用0A。





歡迎光臨 電腦領域 HKEPC Hardware (https://h1.hkepc.com/forum/) Powered by Discuz! 7.2